1

これについてさらに別の質問を投稿するのは気分が悪いですが、私が読んだ他のすべての質問は、必ずしも私の問題を適用または修正するとは限らない解決策で終わりました。

CentOS6.2でOracleを実行しています。データベースが起動し、sqlplusは正常に接続します。Python3.2とOracle11.2.0.3を使用しています

パッケージcx_Oracle-5.1.1-11g-py32-1.x86_64.rpmを見つけて、エラーなしでインストールしました。

[paws@linux ~]$ ls -al /usr/lib/python3.2/site-packages
total 360
drwxr-xr-x. 2 root root   4096 May  2 12:04 .
drwxr-xr-x. 3 root root   4096 Apr 13 09:31 ..
-rw-r--r--. 1 root root    898 Oct  8  2011 cx_Oracle-5.1.1-py3.2.egg-info
-rwxr-xr-x. 1 root root 353356 Oct  8  2011 cx_Oracle.cpython-32mu.so
[paws@linux ~]$ 

ただし、cx_Oracleをインポートしようとすると、インポートエラーが発生します。以下に示すようにPYTHONPATHを確認しましたが、適切なディレクトリがあります。

[paws@linux ~]$ python
Python 3.2.2 (default, Apr 13 2012, 09:15:56) 
[GCC 4.4.6 20110731 (Red Hat 4.4.6-3)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import cx_Oracle
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: No module named cx_Oracle
>>> import sys
>>> print (sys.path)
['', '/home/paws', '/usr/lib/python3.2/site-packages', '/usr/local/lib/python32.zip', '/usr/bin/Python-3.2.2/Lib', '/usr/bin/Python-3.2.2/Lib/plat-linux2', '/usr/bin/Python-3.2.2/build/lib.linux-x86_64-3.2', '/usr/local/lib/python3.2/site-packages']

これを解決するために他に確認できることはありますか?私はcx_OracleをWindowsに何度も問題なくインストールしましたが、これはLinuxで初めてなので、単純なものが欠けているに違いありません。

どんな助けでも大歓迎です。

4

1 に答える 1

0

ちょっとした考え。あなたのバージョンのタグ付きファイルに問題があるのではないかと思います。

Pythonプロンプトで、次のように入力すると何が表示されますか。

>>>import sysconfig
>>>sysconfig.get_config_var('SO')

次のようになります: 'cpython-32mu.so'

そうでない場合は、これを指すシンボリックリンクを作成してみてください。

于 2012-05-04T15:25:14.957 に答える