Форум сайта python.su
Здравствуйте?
на днях переехал на Visual Studio 2017 и python 3.6.1
начал накатывать заново пакеты в частности cx_Oracle.
при попытке наката возникла ошибка
pip install cx_Oracle
Collecting cx_Oracle
Using cached cx_Oracle-5.3.tar.gz
Installing collected packages: cx-Oracle
Running setup.py install for cx-Oracle ... error
Complete output from command "c:\program files\python36\python.exe" -u -c "import setuptools, tokenize;__file__='C:\\Users\\drno\\AppData\\Local\\Temp\\pip-build-jgeivctu\\cx-Oracle\\setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record C:\Users\drno\AppData\Local\Temp\pip-am47ubdl-record\install-record.txt --single-version-externally-managed --compile:
running install
running build
running build_ext
building 'cx_Oracle' extension
creating build
creating build\temp.win-amd64-3.6-12c
creating build\temp.win-amd64-3.6-12c\Release
creating build\temp.win-amd64-3.6-12c\Release\src
cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD -ID:\Databases\Oracle\product\12.2.0\dbhome_1\oci\include -ID:\Databases\Oracle\product\12.2.0\dbhome_1\rdbms\demo "-Ic:\program files\python36\include" "-Ic:\program files\python36\include" /Tcsrc/cx_Oracle.c /Fobuild\temp.win-amd64-3.6-12c\Release\src/cx_Oracle.obj -DBUILD_VERSION=5.3
error: command 'cl.exe' failed: No such file or directory
----------------------------------------
Command ""c:\program files\python36\python.exe" -u -c "import setuptools, tokenize;__file__='C:\\Users\\drno\\AppData\\Local\\Temp\\pip-build-jgeivctu\\cx-Oracle\\setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record C:\Users\drno\AppData\Local\Temp\pip-am47ubdl-record\install-record.txt --single-version-externally-managed --compile" failed with error code 1 in C:\Users\drno\AppData\Local\Temp\pip-build-jgeivctu\cx-Oracle\
Отредактировано drno (Март 28, 2017 14:45:23)
Офлайн
А компилятор c++ у вас VS установлен? Найти не может именно его. Если установлен, то, наверное, стоит путь к нему в PATH добавить.
Офлайн
компилятор VC 2015 дополнительно установил, пробую снова возвращает теперь другую ошибку
Using cached cx_Oracle-5.3.tar.gz Installing collected packages: cx-Oracle Running setup.py install for cx-Oracle ... error Exception: Traceback (most recent call last): File "c:\python36\lib\site-packages\pip\compat\__init__.py", line 73, in console_to_str return s.decode(sys.__stdout__.encoding) UnicodeDecodeError: 'utf-8' codec can't decode byte 0xe4 in position 100: invalid continuation byte During handling of the above exception, another exception occurred: Traceback (most recent call last): File "c:\python36\lib\site-packages\pip\basecommand.py", line 215, in main status = self.run(options, args) File "c:\python36\lib\site-packages\pip\commands\install.py", line 342, in run prefix=options.prefix_path, File "c:\python36\lib\site-packages\pip\req\req_set.py", line 784, in install **kwargs File "c:\python36\lib\site-packages\pip\req\req_install.py", line 878, in install spinner=spinner, File "c:\python36\lib\site-packages\pip\utils\__init__.py", line 676, in call_subprocess line = console_to_str(proc.stdout.readline()) File "c:\python36\lib\site-packages\pip\compat\__init__.py", line 75, in console_to_str return s.decode('utf_8') UnicodeDecodeError: 'utf-8' codec can't decode byte 0xe4 in position 100: invalid continuation byte
Офлайн
проблему решил путем деинсталляции Visual Studio 2017
Офлайн
drno
проблему решил путем деинсталляции Visual Studio 2017
Офлайн
PooH
Ага. Согласен. Максимум это “счастье” запускать в Вагранте…
Офлайн
4kpt_VИ что интересно. На самом деле в винде все есть, и проблемы реально решаемы, но вот усилий на их решение уходит на порядок больше. Вроде же как бы для непрофессиональных пользователей делается, что же все так неудобно получается. Вот первое что вспомнилось, менять PATH длиной в тысячу символов через input в 40 символов шириной. И так везде, все есть, но все через ээээ тернии :)
Ага. Согласен. Максимум это “счастье” запускать в Вагранте…
Офлайн
PooH
Это называется борьба с системой. На вЫнде на нее тратиться значительно больше времени чем на Лине. Потому как бороться с системой реально приходится постоянно. Может как раз потому, что она заточена под ну очень непрофессиональных пользователей, но факт остается фактом. Если тебе нужно что-то настроить более-менее серьезное, то начинается адищеее….
Офлайн
на windows 10 - после установки и скрипт заработал, НО на windows 2012 при запуске скрипта
#!/usr/bin/python import cx_Oracle ip='192.168.0.2' port = 1521 SID = 'dboracle' USERNAME='dboracle' PASSWORD='pwd' sql_script=""" SELECT sysdate from dual """ dsn_tns = cx_Oracle.makedsn(ip, port, SID) print (dsn_tns) conn = cx_Oracle.connect(USERNAME, PASSWORD, dsn_tns) c = conn.cursor() c.execute(sql_script) for row in c: print (row[0], row[1]) conn.close()
C:\Python36\python.exe C:/templates/DB/Oracle/Jobs.py Traceback (most recent call last): File "C:/templates/DB/Oracle/Jobs.py", line 2, in <module> import cx_Oracle ImportError: DLL load failed: %1 is not a valid Win32 application.
Офлайн
решил проблему, на 2012 виндекроме
Oracle client 12.2 x64 (instantclient-sdk-windows.x64-12.2.0.1.0.zip (1,801,992 bytes) (cksum - 3191784704) and instantclient-basic-windows.x64-12.2.0.1.0.zip (75,062,441 bytes) (cksum - 1462971172) wrote path in Windows OS Environment ORACLE_HOME = C:\DataBases\Oracle\instantclient),
был давным-давно когда-то проинсталлирован oracle 11.0.1 в 32 битах, после его сноса и прописыванию
ORACLE_BASE и доп C:\DataBases\Oracle\instantclient в PATH, интерпретатор pyhton перестал ругаться.
Всем спасибо!!!
Как кстати закрыть вопрос?
Офлайн