Új hozzászólás Aktív témák
-
válasz
golfvariant
#4128
üzenetére
saját részre nem, volt cikk pl. mobile.de-s adatbányászatról, és kb. ez volt anno a konklúzió.
-
-
válasz
Siriusb
#2808
üzenetére
talán os.systemmel su-zva. elé egy echo password pipe, és beírja a jelszót, amikor promptként kéri. pl.:
os.system("echo <otherpwd> | su - otheruser -c 'parancs'")
sajnos most nem tudom kipróbálni, hogy megmarad-e a shell ilyenkor a következő parancsra.tbh, én ezt nem így használnám POC-on kívül, mert rossz gyakorlat hardkódolni bármilyen jelszót, szóval a jelszó bekérésére találj ki valami secure megoldást, pl. getpass(), vagy érd el, hogy sudozni lehessen jelszó nélkül a szóban forgó parancsot.
-
igazából mit spórolsz azon, ha nyitva tartod a kapcsolatot? időt. ha szükséged van arra a pár tized/századmásodpercre, amíg egy kapcsolat és egy session megnyitása és beállítása tart, akkor hagyd nyitva. minden más esetben csak problémát tud okozni, ha valamiért nyitva marad.
erről egyébként a legtöbb dba elég sokat tud neked mesélni, mindegyik találkozott már olyan programmal, ahol ez nem volt kezelve, és problémákat okozott db oldalon. -
ha sok művelet lesz, akkor úgyis saját függvényeket fogsz írni a hívások köré (már csak azért is, hogy a db-hibakódokat, üres eredménylistát lekezeld), aminek az elejére simán beépíted a kapcsolat vizsgálatát, és az arra érkező negatív válasz esetén a megnyitását, a végére meg a zárást, és akkor ezt el is felejtheted. kapcsolatnyitásokkal nem fogsz leddosolni egyetlen sql szervert sem (vagy ha igen, ahhoz szeretnék a dbanak külön gratulálni) viszont a nyitva hagyott kapcsolatok konkrétan elérhetetlenné tudják tenni az adatbázist.
-
válasz
Janos46
#2403
üzenetére
o.O
mit kellene kiírnia? ez ugyan windoze, de ezt kell látnod *nix alatt is:
Microsoft Windows [Version 10.0.14393]
(c) 2016 Microsoft Corporation. Minden jog fenntartva.
W:\>python
Python 3.7.0 (v3.7.0:1bf9cc5093, Jun 27 2018, 04:59:51) [MSC v.1914 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> -
válasz
alec.cs
#2148
üzenetére
nem akarom letörni a titkosításra vonatkozó lelkesedésedet, de azért legyél tudatában, hogy egy base64 stringet két kattintás en-, és dekódolni egy notepad++ban, és linuxon is simán van rá parancs mindegyik disztróban.
és mivel a komplementer karaktere állandó, rossz esetben ránézésre felismerhető, hogy milyen kódolást használtál.
szóval ez a megoldásod legfeljebb a gyorsaságnak tesz eleget. -
így hívunk függvényt argumentum nélkül:
foo()
amit te csinálsz, azzal nem a függvényt hívod meg, hanem a függvény objektumát. ha def-fel vagy lambdával készítesz függvényt, akkor ezt a python megcsinálja neked.>>> def foo(): pass
...
>>> foo
<function foo at 0x106aafd70>hívd csak meg a five függvényed objektumát natúr, és valami hasonlót fogsz kapni. és persze a külső föggvényeid is erre az értékre futnak ilyenkor, nem pedig arra, amit a five() helyesen meghívva visszaadna.
és persze hibaüzenetet is azért nem kapsz az egyébként hibás five hívásodra, csak legfeljebb a külső függvényeidre, mert hiába van neki megadva, hogy mivel kell meghívni, nem a függvényt hívod meg, hanem az objektumát.
-
válasz
Siriusb
#1998
üzenetére
ez db feature, pl. oraclenél úgy hívják, hogy database change notification. pl. itt tudsz róla olvasni.
az oracle egyébként saját python modult írt az adatbázisához, ami képes erre. [link]ha ez nem áll rendelkezésre, akkor neked kell úgy megírni a szoftvert, hogy commit után értesítse a releváns 3rd party alkalmazásokat a változásról, és kikényszerítse az újbóli beolvasást.
-
válasz
s1999xx
#1869
üzenetére
nézz meg pl. egy robot frameworköt. ez egy python alapú framework, tesztautomatizálásra használják. azaz emberek arra használják, hogy egy programot írjanak benne, ezzel tesztelik azt a programot, amit le akarnak tesztelni. azaz abból a pszeudókódból, amit a felhasználó begépel, python programot kell csinálni.
-
válasz
#05216000
#1722
üzenetére
mert az php, és elsősorban webfejlesztésre használják, és afaik azon keresztül is oktatják. ha egy weblapon akarsz adatot megjeleníteni, oda előbb-utóbb kelleni fog neked egy adatbázis is, pl. egy sima kereséshez.
pythont viszont nem webprogramozással tanítunk, oda nem feltétlenül fognak az adatok egy adatbázison keresztül érkezni, hanem fileból, vagy valamilyen más interfészen keresztül.egyébként itt linkeltem egy magyar py3 könyvet, ráadásul lektoráltat, van benne ~3 oldal arról, hogyan kezeld az adatbázisodat az sqlite modullal. 3 oldal egy 300+oldalas könyvben, a függelékek között.
-
válasz
GreenIT
#1699
üzenetére
ha nincs róla könyv, az azért is lehet, mert 2018ban ezzel már nem lehet eladni egy könyvet. a cx_Oracle modult használom oracle adatbázisok eléréséhez, jelenleg a 7.0.0ás verziónál jár. hogy az 1.0 mikor jelent meg, azt hirtelen nem találom, de a v2.2-t 2001 júliusában publikálta az oracle belőle.
-
válasz
kezdosql
#1686
üzenetére
gui: nem ajánlok erre pythont használni. guiban kifejezetten nem tartozik az erős nyelvek közé. de persze próbálkozni lehet. irányok: pyqt, tkinter. én nem írok gui-t a scriptjeimhez, amihez kell, ahhoz karakteres képernyőn csinálok menüt.
adatbáziskezelés: kifejezetten nem ajánlok python adatbázist. van n+1 kipróbált és bevált adatbáziskezelő, és kb. mindegyikhez van python modul, amin keresztül meg tudjátok hajtani. vagy ha nem, az odbc-vel össze tudjátok hozni a kapcsolatot. a gadfly-t tudtommal évtizede nem fejleszti senki. ha beleszaladtok valamibe ami nem működik, vagy csak ti nem tudjátok kitalálni, hogy működik, nem fog senki segíteni. egy oracle vagy mysql/mssql, postgressel a helyzet jóval egyszerűbb, beküldesz egy selectet stringként, és lefetcheled, ami jön, bevered egy listába vagy mapbe, és tovább játszol vele.
kicsit úgy látom, hogy volt egy szögetek, ami kiállt a falból. találtatok egy kalapácsot, amire a python felirat volt ráírva. megfogtátok, és bevertétek vele a szöget a falba. viszont azóta mindent szögnek néztek.
-
hagyok itt es kis példakódot, ha már én szoptam vele, másnak ne kelljen.
import cx_Oracle
import sshtunnel
tunnel = sshtunnel.SSHTunnelForwarder(('IP_1_STEP', 22), ssh_username='USERNAME', ssh_password='PASSWORD', remote_bind_address=('IP_STEP_2', 22), local_bind_address=('127.0.0.1', 22222))
tunnel.start()
tunnel_db = sshtunnel.SSHTunnelForwarder(('127.0.0.1', 22222), ssh_username='USERNAME', ssh_password='PASSWORD', remote_bind_address=('IP_STEP_FINAL', 1521), local_bind_address=('127.0.0.1', 1521))
tunnel_db.start()
dsn_tns = cx_Oracle.makedsn('127.0.0.1', 1521, 'DB_SID')
conn = cx_Oracle.connect('DB_USERNAME', 'DB_PASSWORD', dsn_tns)
print(conn.version)
conn.close()
tunnel_db.close()
tunnel_close()magyarázat: két, egymást követő gatewayen keresztül történő db elérés. paramikoval nem tudtam megcsinálni, pedig beletettem az effortot.
-
py3 könyv, magyarul, legálisan, ingyen Hogyan gondolkozz úgy, mint egy informatikus: tanulás Python3 segítségével.
köszönet érte a debreceni egyetem hallgatóinak és oktatóinak. -
válasz
cousin333
#1672
üzenetére
pontosan ott, hogy van egy ilyen kód
ssh_tunnel.py
# -*- coding: utf-8 -*-
import getpass
import sshtunnel
class jumpserver():
"""
this class realizes the jumpserver relay to get next to the db.
methods:
run(): starts the ssh tunnel.
disc(): closes the ssh tunnel.
"""
def __init__(self):
#read jumpserver and db connection path from file
#list
with open('ssh_tunnel.cfg') as ssh_tunnel_list:
ssh_tunnel_list = [x.strip('\n') for x in ssh_tunnel_list.readlines()]
#mapping connection data to string
self.ssh_tunnel_user = ssh_tunnel_list[1].replace('jumpserver user = ', '', 1)
self.ssh_tunnel_pw = ssh_tunnel_list[2].replace('jumpserver password = ', '', 1)
self.ssh_tunnel_ip = ssh_tunnel_list[3].replace('jumpserver ip = ', '', 1)
self.db_ip = ssh_tunnel_list[4].replace('db ip = ', '', 1)
while True:
if not self.ssh_tunnel_user:
self.ssh_tunnel_user = input("Input ssh tunner user:")
if self.ssh_tunnel_user:
break
else:
break
while True:
if not self.ssh_tunnel_pw:
self.ssh_tunnel_pw = getpass.getpass("Input ssh tunner password:")
if self.ssh_tunnel_pw:
break
else:
break
def run(self):
"""
starts the ssh tunnel.
"""
#starting tunnel
self.tunnel = sshtunnel.SSHTunnelForwarder((self.ssh_tunnel_ip, 22), ssh_username=self.ssh_tunnel_user, ssh_password=self.ssh_tunnel_pw, remote_bind_address=(self.db_ip, 1521), local_bind_address=('127.0.0.1', 1521))
try:
self.tunnel.start()
except:
print("connection to jumpserver", self.ssh_tunnel_ip, "as", self.ssh_tunnel_user, "failed.")
else:
#print("connection successful")
pass
return self.tunnel
def disc(self):
"""
closes the ssh tunnel.
"""
self.tunnel.stop()és van egy main.py, amelyik meghívja ebből az osztályból instalcol, és hívogatja a metódusait.
main.py
# -*- coding: utf-8 -*-
import ssh_tunnel
js = ssh_tunnel.jumpserver()
with js.run():
if js.run():
print("connection successful")
loop = True
while loop: ## While loop which will keep going until loop = False
if stuff_2_do:
do_stuff()
continue
elif:
os.system('cls||clear')
print("bye")
js.disc()
break # This will make the while loop to end as not value of loop is set to Falseés itt van az, hogy erre a main.py-re indítva egy debuggert, a js már nem jelenik meg, mint változó/object a debuggerben.
-
válasz
cousin333
#1670
üzenetére
köszi neked is. mindkettővel ugyanaz a gondom, ha egy másik (saját) fileból importolok egy classt, és azt instancolom, azokat az objecteket már nem nagyon jelzi magától. a step into gombok is szürkék.
hogyan tudom ezt beállítani, vagy miket kell beleirkálnom a moduljaimba, hogy ez működjön? -
van olyan ide és hozzá plugin, amivel futtatás közben hozzáférek az objectek attribjaihoz? a spídernek van egy ilyesmi funkciója, de nekem nagyon nem akar mostanában működni. :|
-
válasz
EQMontoya
#1655
üzenetére
szeretnék én is annyiszor egy gombóc fagyit, ahányszor ebbe belefutottam...! ez egy rohadt idegesítő vonzata annak, hogy a pythonban minden (még a függvény is) object. ilyenkor ha lenne egy hibaüzi, hogy ilyen állat nincs, akkor az ember tudná, hogy ez így biztosan nem lesz jó.
-
válasz
EQMontoya
#1653
üzenetére
az a rövid kódja, ami mindig is működött.
a hosszabb példában, amiben a for ciklus is van, következetesen rosszul van meghívva a close.szerintem hibaüzenetet kapott arra, amikor a a for ciklusban függvényként hívta a close()-t, mert a következő iterációnál a már lezárt fileba akart beleírni, és így khm... 'javította'. mert így nem kapott hibaüzenetet futtatásnál. erre írtam, hogy ha lehet, toljuk ki a close()-t cikluson kívülre.
-
nem lehet. az
io.close()egy függvény, nem utasítás. afaik mindig is az volt pythonban. aprint()volt még a 2.xxben statement, meg lehetett hívni üresen, zárójel nélkül, de a 3.xxben már függvény, és úgy is kell meghívni.
afilehandle.close()a close() függvényt (metódust) hívja meg. afilehandle.closepedig nem.
ha jobban megnézed, a rövid példádbanfilehandle.close()szerepel, az azért működött.az a zárójel nem dísznek van ott, vagy az én úri hóbortom miatt. nem stilisztika.
-
a close függvény. helyesen
filehandle.close(). nem csoda, hogy a file-t létrehozza, de nem csinál semmit. ha kilövöd a py kernelt, akkor persze megjelenik a file, benne a tartalommal, mert a garbage collector lezárja neked.ja és javasolt kirakni cikluson kívülre.
import time
import random
print("itten most fileba irok")
filehandle = open("teszt2.txt", 'w')
random.seed(3)
for x in range(0, 10):
time.sleep(0.3)
y = random.randint(0, 100)
print("loop number: " + str(x) + " random number = " + str(y))
filehandle.write("Random number, index:" +str(x)+ "randomNumber:" +str(y)+"\n")
filehandle.close()
print("end") -
van egy olyan kínom, hogy 3.5-6 alatt a csv modul kényszeresen konvertál minden intet floatba, és mögétesz egy .0 taget.
van ötlet, hogy lehet erről lebeszélni? a doksija azt írja, hogy csak a writerquoting=csv.QUOTE_NONNUMERICmegadásánál kéne csinálnia, énquoting=csv.QUOTE_ALL-t használok, delimiterrel, aszt mégis csinálja...a kód:
try:
snames=['db_1', 'db_2', 'db_3']
for i in range(len(snames)):
tnames=['table_1']
for j in range(len(tnames)):
export_all = export_2_file(servicename=snames[i])
export_all.csv_init('2018_07_31', snames[i] + '_' + tnames[j])
export_all.export_2_csv(tnames[j])a használt függvények:
import csv
import time
from connect_2_db import connect_2_db
class export_2_file():
def __init__(self, servicename=False):
#instancing db connection
if servicename:
self.cdb = connect_2_db(servicename)
if not servicename:
self.cdb = connect_2_db()
self.cdb_brdb = self.cdb.brdb()
def csv_init(self, csvdir, csvname, master=False):
self.timestr = time.strftime("%d-%m-%Y_%H_%M_%S")
filename = str(csvdir)+'\\'+str(csvname)+'_'+self.timestr+'.csv'
self.filename_act = filename
self.resultcsv = open(filename, "w", encoding="iso-8859-15", newline='')
self.output = csv.writer(self.resultcsv, delimiter=';', quotechar='"', quoting=csv.QUOTE_ALL)
def export_2_csv(self, tablename):
#create and execute query sql
self.sql = u"SELECT column_name FROM all_tab_cols WHERE table_name ='"+tablename+"' AND column_name NOT IN ( 'REFERENCE_TUPLE_ID', 'INSERTDATE' ) order by column_id asc"
self.cdb.exec_one(self.sql)
self.preselect = self.cdb.cursor.fetchall()
self.preselect_str = str([' '.join(item) for item in self.preselect]).strip('[]').replace("'", "")
#using the previous query result to create the select
#to query target table without having the fixed cells like sysdate, sequences, etc.
try:
self.sql_select = u"select "+self.preselect_str+" from "+tablename+" order by "+self.preselect_str
except:
pass
else:
self.result = self.cdb.exec_one(self.sql_select)
for row in self.result:
self.output.writerow(row)
print("\nExport "+tablename+" table succcess")
self.cdb.db_disc()
self.resultcsv.close()anonimizált részlet az eredményfileból
"customer_1";"customer_network";"2018-07-30 00:00:00";"31.0";"random error message'";"000000000000001"a konvertált mező number típusú az oracleben.
-
itt ugye a sztori azzal kezdődik, hogy
#install dependencies
sudo apt-get install mercurial
és még sok minden más.
a mercurial egy forráskód management tool, olyan, mint a git. a bitbucket viszont mercurial repót használ, ezért kell. a hg clone paranccsal lemásolod a mögötte szereplő urlen található repositoryt. -
válasz
kezdosql
#1577
üzenetére
jó, akkor teradata.

neked fog a választott sql típusának megfelelő modul kelleni.
sql kezelés pythonból nem igazán nagy kihívás. be kell majd állítanod az elején egy megfelelő connection stringet, amivel kapcsolódsz.
magukat a parancsokat pedig stringekként fogod beküldeni, ezeket a stringeket pedig úgy fogod statikus és dinamikus részekből összelegózni. -
válasz
xAttilax
#1532
üzenetére
van rá függvény, nem is egy:
os.listdir()ésos.scandir().
amivel visszatér, abból kimazsolázod azokat, amelyek neked kellenek, és berakod egy listába, amelyen végigmenve megnyithatod, ami neked kell. -
válasz
kezdosql
#1373
üzenetére
mert pl. droidban nincs benne alapértelmezetten a python interpreter így egy relatíve kis tudású app (meghív egy böngészőt egy difólt honlappal) is baromi nagy méretű tud lenni;
mert kezelned kell a t. vezetőség összes óhaját, akik a kövér ujjaikkal nem találják el a megfelelő gombot/beviteli mezőt;
egyéb.egyébként megy pythonnal, én elsőre a kivyvel próbálkoznék. más kérdés, hogy másban (pl java) esetleg könnyebb dolgod lenne.
-
válasz
#73749248
#1320
üzenetére
akkor lehet, hogy a te jövőd éppen nem.

2020ig tart a py2 támogatása, szóval én két évvel előtte senkinek nem fogom mondani, hogy ez a jövő.
persze, ha hozzá vagy kötözve valami legacy modul miatt, akkor így jártál. bár pont a támogatás kifutása miatt én már azt is megnézném, hogy mekkora erőfeszítés lenne portolni a modult, vagy a feltétlenül szükséges részeit külön processzként hívogatni. -
-
single threadben futtasd egy korlátozott portcím-tartományra, és nézd meg, hogy konzisztens-e az eredmény, amit kapsz.
egyébként meg igazából ssh-zhatok meg ftp-zhetek én akárhányas porton, ez a hívás egy dictionary-t használ, amit akár te is megírhatsz. egy listában intként eltárolod a portszámot, mellette pedig stringként hogy mi az a default szervíznév, ami általában használja, és ebből fordítgatsz.
-
ahogy olvasom, ez egy wrapper a windoze getservbyport függvénye fölött. ez nem csekkolja, hogy ténylegesen milyen szervíz fut azon a porton (azt sem, hogy fut-e egyáltalán), hanem megkérdezi a win service db-jétől, hogy ott milyen név van rámappelve erre a portra. megpróbálhatod ezt közvetlenül hívogatni, hogy az állandó eredményt ad-e, vagy már ott is hasonlókat kapsz.
-
aki már kínlódott ssh/scp/sftp és társaival:
a feladat egy gatewayen keresztül betalálni egy remote gépre (valami solaris dinoszaurusz), és onnan illetve oda fileokat elvinni/odatenni.
mivel paramikoval úgyis megcsináljuk a transportot, adná magát az sftp class, deviszont a remote gépen át kell sudozni egy másik (technikai) userre (nopasswordos, de akkor is), és utána lehet csak hozzáférni a szóbanforgó fileokhoz. sajnos a sudoval egyszerre nem lehet más parancsot kiadni (csak a keyloggert (rootsh) hajlandó indítani), ezért azexec_commandkiesett (kiadom a sudót, beveszi, de zárja is a transportot), ezért azinvoke_shell-el kínlódok. van jobb megoldás?
mert így a saját userrel felloggolok a remote gépre, de így csak ezt tudom használni, mert a technikai user jelszavát az üzemeltetés nem adja ki. viszont az paramiko sftp nem támogat sudózást.
nézem az scp modult, de sudót az sem szeret.
ötlet?
nem igazán akarok workaroundokat (direkt bejelentkezéses useren keresztül, cat-tel fileokat létrehozni, cvs repón keresztül szinkronizálni, stb.) hackelni, ha van egyenes út is. -
válasz
sztanozs
#1144
üzenetére
itt szerintem nem ez a baj, hanem maga az sql dobálgatja neki vissza a create table-t mert a szóközt tartalmazó, és/vagy számmal kezdődő táblanév megsérti az sql konvencióit.
@adam0913: szóközt hagyd el, vagy helyettesítsd aláhúzással. a táblanév első karaktere pedig erősen javasolt, hogy az angol abc egy szabadon választott betűje legyen.
-
válasz
adam0913
#1126
üzenetére
arra gondoltam, hogy egy csv-nél vannak formázási lehetőségek, amiket használhatsz.
pl. a0,1,2,3és a"0";"1";"2";"3"ugyanaz a csv.és igen, ettől még meg kell oldanod, hogy az utolsó két oszlop az ne folyjon össze. ezért vagy egy listába parseolsz, és utána a lista két utolsó oszlopát összeadod, a szükségtelen elemeket pedig eltávolítod. így elég csak a csv.writernél formázni a csv-t.
#csv előkészítés
filename=r'path\output.csv'
#én ezeket (encoding, stb.) használom, egyéb megkötések miatt
resultcsv=open(filename,"w", encoding="iso-8859-15", newline='')
output=csv.writer(resultcsv, delimiter=';',quotechar = "'")
#ha valami az egy tömb az adatokkal
for row in valami:
row[3]=(str(row[3])+","+str(row[4]))
del row[4]
output.writerow(row)
#végül lezárjuk, vagy átírhatod with:-re és akkor nem kell
resultcsv.close() -
válasz
velizare
#1091
üzenetére
ja és persze a file első sora deklarálja, mit is kéne használni
# -*- coding: utf-8 -*-amit kihúztam a db-ből, hogy
NLS_NCHAR_CHARACTERSET AL16UTF16 és NLS_CHARACTERSET WE8ISO8859P15.ennek megfelelően megpróbálkoztam a connect sort módosítani:
conn = cx_Oracle.connect(conn_str, , encoding="iso-8859-15", nencoding="AL16UTF16")
persze, hogy nem változott semmi.
-
akkor én is kérdezek egyet.
import cx_Oracle
try:
conn = cx_Oracle.connect(conn_str)
print ("connection successful.")
except:
print ("connection failed")
conn.close()
else:
print ("\o/\n")
#executing sql statement
sql_statement=U'select valami from valahonnan'
print("executing sql statement:")
print (textwrap.fill(sql_statement,width=60))
c = conn.cursor()
c.execute(sql_statement)
#put it to a list
for row in c:
#print it
#print (row)
#result.append(list(map(str,row)))
output.writerow(row)
c.close()
conn.close()és erre a hibaüzenet:
Traceback (most recent call last):
File "rfs/export_2_master_csv.py", line 51, in <module>
output.writerow(row)
File "C:\ProgramData\Anaconda3\lib\encodings\cp1250.py", line 19, in encode
return codecs.charmap_encode(input,self.errors,encoding_table)[0]
UnicodeEncodeError: 'charmap' codec can't encode character '\xbf' in position 72: character maps to <undefined>ami nem tetszik neki, az a következő érték:
'Gerrard¿s Cross'jó gewglis módjára az nls_lang beállításávál próbálkoztam, de az nem hozott sikert.
ötletek? -
sshtunnel-t használ valaki? valamiért nem működik ez a csatornanyitás with contextussal:
with sshtunnel.SSHTunnelForwarder(
('jumpserver', 22),
ssh_username="username",
ssh_password="password",
remote_bind_address=('remotehost',1521),
local_bind_address=('127.0.0.1',1521)
) as tunnel:
innen nyitnék egycx_Oracle.connect-tel egy db kapcsolatot, de egyszerűen nem nyitja meg a csatornát.viszont with contextus nélkül tökéletesen elérem az adatbázist.
tunnel = sshtunnel.SSHTunnelForwarder(('jumpserver', 22),ssh_username="username",ssh_password="password",remote_bind_address=('remotehost', 1521),local_bind_address=('127.0.0.1', 1521))
tunnel.start()csak ezt utána be is kell zárnom.
van valakinek ötlete, miért nem működik with-tel? köszi
-
üdv, a topicnak!
tudja valaki, hogy a pip honnan szedi a compiler pathokat? egész pontosan a c++ fordítóét. cx_Oracle modullal kell dolgoznom, és ezt le kell fordítgatnom, mert a fejlesztője ritkán updateli a python új alverzióihoz. 3.4hez van, 3.6hoz már nincs. a hiba, hogy a cl.exe hiányára hivatkozva leáll a pip install (pip install cx_Oracle). felraktam hozzá a 14.xx visual c++ runtimeot, de nem változott semmi. a vicc, hogy még akkor is sem találja a cl.exe-t ha ugyanabból a könyvtárból indítom a pipet, ahol van.
win10, py3.6.
Új hozzászólás Aktív témák
- Thinkpad T14s Gen2i 14" FHD IPS i7-1185G7 32GB 512GB NVMe ujjlolv IR kam gar
- Bomba ár! Lenovo ThinkBook 15 G2 - i5-1135G7 I 16GB I 512GB SSD I 15,6" FHD I Cam I W11 I Gari!
- Bomba ár! Dell Latitude 3520 - i5-1135G7 I 16GB I 256SSD I HDMI 15,6" FHD I Cam I W11 I Garancia!
- Bomba ár! Dell Latitude 5420 - i5-1145G7 I 16GB I 256SSD I HDMI I 14" FHD I Cam I W11 I Garancia!
- Bomba ár! Dell Latitude 5480 - i5-7GEN I 8GB I 128SSD I 14" FHD I HDMI I Cam I W11 I Garancia!
- LG 27UP850K-W - 27" IPS LED - 3840x2160 4K - DisplayHDR 400 - USB Type-C - AMD FreeSync
- Keresünk dokkolókat
- Telefon felvásárlás!! iPhone 13 Mini/iPhone 13/iPhone 13 Pro/iPhone 13 Pro Max
- Microsoft Windows, Office & Vírusirtók: Akciók, Azonnali Szállítás, Garantált Minőség, Garancia!
- Frissen pasztázva! Playstation 4 Pro 1 TB + kontroller 6 hó garancia, számlával!
Állásajánlatok
Cég: Laptopszaki Kft.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
![;]](http://cdn.rios.hu/dl/s/v1.gif)
a format rövid, az str() rövidebb, az 







