質問
Python 2.6 用の cx_Oracle をインストールしようとしていますが、失敗します。C や MS Vis については十分な知識がありません。Studio のコンパイラは、自分で修正することもできます。
コマンドラインに出力されるのは次のとおりです。
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 ファイルにも問題がある可能性があります。これを別の場所で問題として見た記憶があると思いますが、Windows マシンが 4 台あり、そこで問題が発生した可能性があります。)
- - - - - - - - - - - - - - - 編集 - - - - - - - - - - ---------
コンパイル済みインストーラーを使用しない理由は、モジュールを実行しようとすると次のような結果が得られるためです。
Python 2.6.3 (r263rc1:75186, Oct 2 2009, 20:40:30) [MSC v.1500 32 bit (Intel)] on win32 Type "help", "copyright", "credits" or "license" for more information. >>> import cx_Oracle Traceback (most recent call last): File "", line 1, in ImportError: DLL load failed: The specified module could not be found.
それは正しくインストールされていないことを意味すると思います。誰かがここで私が間違っていたことを教えてくれれば、それも完全に受け入れられる答えです。
----------------------------- 編集 2 ----------------------------- ---------
回収しました 全て からのファイル Oracle の基本クライアント バージョン11.1.0.7。より充実したクライアントのインストールは試していません。今、一つダウンロード中です。
%ORACLE_HOME%=C:\Oracle\instantclient\ #The directory where the above files have been extracted.
詳しくは
- cx_Oracle の setup.py の現在のディレクトリは C:\pydev\cx_Oracle-5.0.1 です。
- Pythonのバージョンは2.6.3です
- Python の現在のディレクトリは C:\Python26 です -- Python 2.6 にアクセスするには、コマンド ラインに py26 と入力すると、C:\python26\python にマップされます。
解決
次のようなバイナリパッケージを使用してみてはいかがでしょうか Windows インストーラー (Oracle 10g、Python 2.6)?
見る http://cx-oracle.sourceforge.net/ 他のバイナリパッケージの場合
付録 (リクエストに応じて):次の条件を満たす cx_Oracle を使用する必要があります。
- この環境変数が存在しない場合は、ORACLE_HOME を設定します (これを参照してください) オラクルのよくある質問)
- Pythonは見つけることができます
oraocci11.dll
Oracle 11gの場合、oraocci10.dll
Oracle 10gの場合またはoraclient9.dll
Oracle 9i の場合は、PATH 環境変数に DLL が存在するフォルダー (%ORACLE_HOME%/bin である必要があります) を追加します。 - 正しいバイナリ パッケージを使用してください (つまり、適切な Python/Oracle バージョン用に構築されています)
他のヒント
また、お使いのマシンにインストールされているOracleクライアントのいくつかのタイプを必要とします。有効なOracleクライアントは、(標準またはXEのような)完全なOracleのインストールやインスタントが含まクライアントの
READMEするます:
ご注意くださいOracleクライアント(または サーバー)のインストールが必要です cx_Oracleを使用するために。もししないなら に付属するツールが必要 フルクライアントのインストールは、それがあります インスタントをインストールすることをお勧めします インストールがはるかに簡単であるクライアントます。
私は以前のWindowsにインストールしていないが、あなたはcx_Oracleはどこを見れを知っているように、ORACLE_HOME環境変数を設定する必要があります。
、物事がある容易にするます:
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>
adminとしてアナコンダプロンプトを実行してみます: