Уведомления

Группа в Telegram: @pythonsu

#1 Март 28, 2017 14:44:58

drno
От: Краснодар
Зарегистрирован: 2016-08-24
Сообщения: 21
Репутация: +  0  -
Профиль   Отправить e-mail  

Как решить проблему с установкой пакета cx_Oracle?

Здравствуйте?

на днях переехал на 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\

error: command ‘cl.exe’ failed: No such file or directory

Почему возникает эта ошибка и как с ней бороться?

Отредактировано drno (Март 28, 2017 14:45:23)

Офлайн

#2 Март 29, 2017 05:06:21

PooH
От:
Зарегистрирован: 2006-12-05
Сообщения: 1948
Репутация: +  72  -
Профиль   Отправить e-mail  

Как решить проблему с установкой пакета cx_Oracle?

А компилятор c++ у вас VS установлен? Найти не может именно его. Если установлен, то, наверное, стоит путь к нему в PATH добавить.



Вот здесь один из первых отарков съел лаборанта. Это был такой умный отарк, что понимал даже теорию относительности. Он разговаривал с лаборантом, а потом бросился на него и загрыз…

Офлайн

#3 Март 30, 2017 12:27:55

drno
От: Краснодар
Зарегистрирован: 2016-08-24
Сообщения: 21
Репутация: +  0  -
Профиль   Отправить e-mail  

Как решить проблему с установкой пакета cx_Oracle?

компилятор 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

на windows 2012 с python 3.6.1 x64 все взлетело, на windows 10 python 3.6.1 x64 бьется эта ошибка,
как решить теперь эту проблему?

Офлайн

#4 Март 30, 2017 18:35:44

drno
От: Краснодар
Зарегистрирован: 2016-08-24
Сообщения: 21
Репутация: +  0  -
Профиль   Отправить e-mail  

Как решить проблему с установкой пакета cx_Oracle?

проблему решил путем деинсталляции Visual Studio 2017

Офлайн

#5 Март 30, 2017 19:01:00

PooH
От:
Зарегистрирован: 2006-12-05
Сообщения: 1948
Репутация: +  72  -
Профиль   Отправить e-mail  

Как решить проблему с установкой пакета cx_Oracle?

drno
проблему решил путем деинсталляции Visual Studio 2017

Восемь лет назад я решил 90% проблем путем деинсталляции Windows на своей машине ;)



Вот здесь один из первых отарков съел лаборанта. Это был такой умный отарк, что понимал даже теорию относительности. Он разговаривал с лаборантом, а потом бросился на него и загрыз…

Офлайн

#6 Март 30, 2017 19:22:11

4kpt_V
От: Харьков
Зарегистрирован: 2017-02-19
Сообщения: 299
Репутация: +  12  -
Профиль   Отправить e-mail  

Как решить проблему с установкой пакета cx_Oracle?

PooH
Ага. Согласен. Максимум это “счастье” запускать в Вагранте…

Офлайн

#7 Март 31, 2017 05:26:14

PooH
От:
Зарегистрирован: 2006-12-05
Сообщения: 1948
Репутация: +  72  -
Профиль   Отправить e-mail  

Как решить проблему с установкой пакета cx_Oracle?

4kpt_V
Ага. Согласен. Максимум это “счастье” запускать в Вагранте…
И что интересно. На самом деле в винде все есть, и проблемы реально решаемы, но вот усилий на их решение уходит на порядок больше. Вроде же как бы для непрофессиональных пользователей делается, что же все так неудобно получается. Вот первое что вспомнилось, менять PATH длиной в тысячу символов через input в 40 символов шириной. И так везде, все есть, но все через ээээ тернии :)



Вот здесь один из первых отарков съел лаборанта. Это был такой умный отарк, что понимал даже теорию относительности. Он разговаривал с лаборантом, а потом бросился на него и загрыз…

Офлайн

#8 Март 31, 2017 07:43:48

4kpt_V
От: Харьков
Зарегистрирован: 2017-02-19
Сообщения: 299
Репутация: +  12  -
Профиль   Отправить e-mail  

Как решить проблему с установкой пакета cx_Oracle?

PooH
Это называется борьба с системой. На вЫнде на нее тратиться значительно больше времени чем на Лине. Потому как бороться с системой реально приходится постоянно. Может как раз потому, что она заточена под ну очень непрофессиональных пользователей, но факт остается фактом. Если тебе нужно что-то настроить более-менее серьезное, то начинается адищеее….

Офлайн

#9 Март 31, 2017 12:27:55

drno
От: Краснодар
Зарегистрирован: 2016-08-24
Сообщения: 21
Репутация: +  0  -
Профиль   Отправить e-mail  

Как решить проблему с установкой пакета cx_Oracle?

на 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.

как решить эту проблему?

Офлайн

#10 Март 31, 2017 13:29:28

drno
От: Краснодар
Зарегистрирован: 2016-08-24
Сообщения: 21
Репутация: +  0  -
Профиль   Отправить e-mail  

Как решить проблему с установкой пакета cx_Oracle?

решил проблему, на 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 перестал ругаться.

Всем спасибо!!!

Как кстати закрыть вопрос?

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version