2

プログラミングのために Python と Oracle を接続するために cx_Oracle をインストールしました。ただし、cx_Oracle が存在するディレクトリにいる場合にのみ、cx_Oracle を Python にインポートできます。cx_Oracle をグローバルにインポートするにはどうすればよいですか? 以下は、問題を示すコードです。

ご協力いただきありがとうございます。

Python が cx_Oracle をインポートできない

user@T420 ~ $ python
Python 2.7.3 (default, Sep 26 2012, 21:51:14) 
[GCC 4.7.2] 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

Python は cx_Oracle が配置されているディレクトリから cx_Oracle をインポートできます

user@T420 /usr/lib/python2.7/site-packages $ ls
cx_Oracle-5.1.2-py2.7.egg-info  cx_Oracle.so

user@T420 /usr/lib/python2.7/site-packages $ python
Python 2.7.3 (default, Sep 26 2012, 21:51:14) 
[GCC 4.7.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import cx_Oracle
>>> 
4

1 に答える 1

1

Debian 上の Python は、site-packages フォルダーを使用しません。ファイルを dist-packages フォルダーに移動するだけで、すべてが機能するはずです。アーロンが言及した他の解決策は、サイトパッケージへのパスを sys.path フォルダーに追加することです。ただし、python site.py フォルダーには次のように記載されています。

site.py ファイルからの引用:

Debian および派生物の場合、この sys.path は、ディストリビューション内で配布されるパッケージのディレクトリで拡張されます。ローカル アドオンは /usr/local/lib/python/dist-packages に、Debian アドオンは /usr/{lib,share}/python/dist-packages にインストールされます。/usr/lib/python/site-packages は使用されません。

于 2013-04-26T18:51:25.007 に答える