سؤال

أحاول تثبيت CX_ORACLE ل Python 2.6، لكنه فشل. أنا لا أعرف ما يكفي من C أو MS Vis. مترجم الاستوديو حتى نهج حتى إصلاحه بنفسي.

هذا هو ما هو الإخراج في سطر الأوامر:

C:\pydev\cx_Oracle-5.0.1>C:\python26\python setup.py install
running install
running build
running build_ext
building 'cx_Oracle' extension
C:\Program Files\Microsoft Visual Studio 9.0\VC\BIN\cl.exe /c /nologo /Ox /MD /W3 /GS- /DNDEBUG -IC:\Oracle\instantclient\sdk\include -IC:\p
ython26\include -IC:\python26\PC /Tccx_Oracle.c /Fobuild\temp.win32-2.6-11g\Release\cx_Oracle.obj -DBUILD_VERSION=5.0.1
cx_Oracle.c
c:\pydev\cx_oracle-5.0.1\StringVar.c(392) : warning C4018: '>' : signed/unsigned mismatch
c:\pydev\cx_oracle-5.0.1\StringVar.c(417) : warning C4018: '>' : signed/unsigned mismatch
c:\pydev\cx_oracle-5.0.1\ObjectVar.c(117) : warning C4018: '<' : signed/unsigned mismatch
c:\pydev\cx_oracle-5.0.1\ObjectVar.c(134) : warning C4018: '<' : signed/unsigned mismatch
c:\pydev\cx_oracle-5.0.1\Variable.c(331) : error C2036: 'void *' : unknown size
c:\pydev\cx_oracle-5.0.1\Variable.c(878) : warning C4244: '=' : conversion from 'sb2' to 'sb1', possible loss of data
c:\pydev\cx_oracle-5.0.1\Variable.c(914) : warning C4018: '<' : signed/unsigned mismatch
error: command '"C:\Program Files\Microsoft Visual Studio 9.0\VC\BIN\cl.exe"' failed with exit status 2

هل لديها أي فكرة عن كيفية حل هذه المشكلة؟ (قد أواجه أيضا مشكلة في هذا الملف Cl.exe، وأعتقد أنني أتذكر أن أرى هذه مشكلة في مكان آخر، ولكن لدي أربعة آلات ويندوز يمكن أن تصدر هناك.).

----------------------------- تعديل -------------------- ---------

السبب في أنني لا أستخدم المثبت المترجم مسبقا هو لأنه عندما أحاول تشغيل الوحدة النمطية، أحصل على ما يلي:

 بيثون 2.6.3 (R263RC1: 75186، 2 أكتوبر 2009، 20:40:30) [MSC V.1500 32 بت (Intel)] على نوع Win32 "Help"، "حقوق النشر"، "ائتمانات" أو "ترخيص" للمزيد معلومة. >>> استيراد cx_oracle traceback (آخر مكالمة آخر): ملف "" "" "" "" "" "، السطر 1، في DrMportror: فشل تحميل DLL: تعذر العثور على الوحدة النمطية المحددة.

أفترض أن هذا يعني أنه لم يتم تثبيته بشكل صحيح. إذا كان شخص ما يمكن أن يقول لي ما فعلت خطأ هنا، فسيكون ذلك أيضا إجابة مقبولة تماما.

----------------------------- Edit2 -------------------- ---------

لقد استرجعت الكل الملفات من عميل أوراكل الأساسي الإصدار 11.1.0.7. لم أحاول تثبيت عميل أكثر جوهرية. أنا تحميل واحد الآن.

%ORACLE_HOME%=C:\Oracle\instantclient\ #The directory where the above files have been extracted.

معلومات اكثر

  • الدليل الحالي ل Setup.py CX_ORACLE هو C: pydev cx_oracle-5.0.1
  • إصدار بيثون هو 2.6.3
  • الدليل الحالي لبثون هو C: Python26 - للوصول إلى Python 2.6 -> اكتب Py26 على سطر الأوامر وسوف يتم خريطة الخريطة إلى C: Python26 Python
هل كانت مفيدة؟

المحلول

لماذا لا تستخدم حزمة ثنائية مثل Windows Installer (Oracle 10G، Python 2.6)?

يرى http://cx-oracle.sourceforge.net/ للحزم الثنائية الأخرى


الإضافة (كما هو مطلوب): يجب عليك التأكد من استخدام CX_ORACLY:

  • قم بتعيين Oracle_home إذا لم يكن متغير البيئة هذا (انظر هذا أوراكل أسئلة وأجوبة)
  • يمكن أن تجد بيثون oraocci11.dll ل Oracle 11G، oraocci10.dll لأوراكل 10G أو oraclient9.dll بالنسبة إلى Oracle 9i عن طريق إضافة المجلد (يجب أن يكون٪ Oracle_home٪ / BIN) حيث يوجد DLL في متغير بيئة المسار الخاص بك
  • استخدم الحزمة الثنائية الصحيحة (أي مبنية إصدارات Python / Oracle)

نصائح أخرى

تحتاج أيضا إلى نوع من نوع عميل Oracle المثبت على جهازك، حيث CX_ORACLE هو مجرد جسر بين Python وعميل Oracle. تشمل عملاء Oracle صالح تثبيت Oracle كامل (مثل Standard أو XE) أو عميل فوري

من التمهيدي:

يرجى ملاحظة أنه مطلوب تثبيت Oracle Client (أو Server) من أجل استخدام CX_ORACLE. إذا كنت لا تحتاج إلى الأدوات التي تأتي مع تثبيت عميل كامل، فمن المستحسن تثبيت العميل الفوري الذي هو أسهل بكثير.

لم أكن مثبتا على Windows من قبل، ولكن قد تضطر إلى تعيين متغير بيئة Oracle_home بحيث يعرف CX_ORACLY أين تبدو.

إذا كنت تستخدم Anaconda Python X64، فإن الأمور هي أسهل:

conda install -c https://conda.anaconda.org/anaconda cx_oracle

(سوف يقوم بتثبيت عميل Oracle الصحيح)


إذا حصلت على الخطأ التالي:

[Anaconda2] C:\Users\User>conda install -c https://conda.anaconda.org/anaconda c
x_oracle
Using Anaconda Cloud api site https://api.anaconda.org
Fetching package metadata: ......
Solving package specifications: .................
Package plan for installation in environment C:\Anaconda2:

The following NEW packages will be INSTALLED:

    cx_oracle:            5.1.2-py27_0
    oracle-instantclient: 11.2.0.4.0-0

The following packages will be UPDATED:

    conda:                3.19.1-py27_0 --> 4.0.5-py27_0
    pip:                  8.0.2-py27_0  --> 8.1.1-py27_0
    pyyaml:               3.11-py27_2   --> 3.11-py27_3
    setuptools:           19.6.2-py27_0 --> 20.3-py27_0
    wheel:                0.26.0-py27_1 --> 0.29.0-py27_0

Proceed ([y]/n)? y

Unlinking packages ...
An unexpected error has occurred, please consider sending the            |   0%
following traceback to the conda GitHub issue tracker at:

    https://github.com/conda/conda/issues

Include the output of the command 'conda info' in your report.


Traceback (most recent call last):
  File "C:\Anaconda2\Scripts\conda-script.py", line 4, in <module>
    sys.exit(main())
  File "C:\Anaconda2\lib\site-packages\conda\cli\main.py", line 173, in main
    args_func(args, p)
  File "C:\Anaconda2\lib\site-packages\conda\cli\main.py", line 180, in args_fun
c
    args.func(args, p)
  File "C:\Anaconda2\lib\site-packages\conda\cli\main_install.py", line 45, in e
xecute
    install.install(args, parser, 'install')
  File "C:\Anaconda2\lib\site-packages\conda\cli\install.py", line 423, in insta
ll
    plan.execute_actions(actions, index, verbose=not args.quiet)
  File "C:\Anaconda2\lib\site-packages\conda\plan.py", line 538, in execute_acti
ons
    inst.execute_instructions(plan, index, verbose)
  File "C:\Anaconda2\lib\site-packages\conda\instructions.py", line 148, in exec
ute_instructions
    cmd(state, arg)
  File "C:\Anaconda2\lib\site-packages\conda\instructions.py", line 95, in UNLIN
K_CMD
    install.unlink(state['prefix'], arg)
  File "C:\Anaconda2\lib\site-packages\conda\install.py", line 714, in unlink
    os.unlink(meta_path)
WindowsError: [Error 5] Access is denied: 'C:\\Anaconda2\\conda-meta\\conda-3.19
.1-py27_0.json'

[Anaconda2] C:\Users\User>

حاول تشغيل مطالبة Anaconda باسم المشرف:

enter image description here

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top