2017-01-13 3 views
0

Ubuntu 14.04を使用しています。名前にピリオドを含むパッケージをインポート/検索する

他の人のPythonプログラムをインストールしていて、インストールに問題が発生して実行しています。

これらにはインストールシェルスクリプトがあります。現在完全に実行されています。

私は実行可能なPythonプログラム「dwgui」を実行すると、私はライン上のエラーを取得:

File "./dwgui", line 6, in <module> 
    from dw.gui.dw_gui import MainWindow 
ImportError: No module named dw.gui.dw_gui 

インストールシェルスクリプトは非常に冗長であり、それは言う実際の出力です:

copying build/lib.linux-x86_64-2.7/dw/gui/dw_gui.py -> /home/ubuntu/.local/lib/dw/gui 

、その後:

byte-compiling /home/ubuntu/.local/lib/dw/gui/dw_gui.py to dw_gui.pyc 

はそうDW/GUI/dw_gui.pycファイルがあります。 (私がチェックした)dw.gui.dw_guiパッケージをインポートして使用する方法はありますか?

答えて

2

/home/ubuntu/.local/lib/ディレクトリが環境変数PYTHONPATHにあることを確認する必要があります。

+0

これは実際には悪い考えです。パッケージはPythonが自動的に見つける '〜/ .local/lib/pythonX.Y/site-packages /'に正しくインストールされていなければなりません。適切な 'setup.py'ファイルと通常のPythonパッケージのインストールメカニズムはこれを行います。シェルスクリプトのハッカーは必要ありません。 'PYTHONPATH'はハックです(一つはバージョン化されていないので、Python 2やPython 3とソース互換でないパッケージは動作しないパッケージに壊れます)、このプログラムのインストールスクリプトは間違っていますユーザ 'site-packages'に適切にインストールしないでください。 – ShadowRanger

関連する問題