0

site-packagesWindows PC の標準的な場所から EC2 ubuntu インスタンスのユーザーのホーム ディレクトリにいくつかのモジュールをコピーしました: /home/theuser/data/projects/mypack.

mypack含む

1) 1 つが空__init__.pyで、

2)ステートメントを実行するmymodulesものと一緒に私の python モジュール ファイルがある1 つのサブディレクトリ。__init__.pyfrom thefile import thefile

を更新するために、.bashrc.profileforの両方を編集するようにしました。そして、としてログインして、新しいセッションを開始するようにしました。theuserPYTHONPATHtheuser

import mypack私がいる場合は正常に動作し/home/theuser/data/projectsます。theuserのホームディレクトリなど、他の場所では、

>>> import mypack
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
 ImportError: No module named mypack

私は UNIX のパーミッションにあまり詳しくありませんが、上記のセットアップは私の PC で問題なく動作しました。一部の UNIX 権限の詳細でつまずくことがありますか?

PYTHONPATH変更を適切に登録しているようです:

>>> import sys
>>> print sys.path
['', 
'/usr/local/lib/python2.7/dist-packages/distribute-0.6.48-py2.7.egg', 
'/home/theuser', 
'/home/theuser/data/projects/mypack', 
'/usr/lib/python2.7', 
'/usr/lib/python2.7/plat-linux2', 
'/usr/lib/python2.7/lib-tk', 
'/usr/lib/python2.7/lib-old', 
'/usr/lib/python2.7/lib-dynload', 
'/usr/local/lib/python2.7/dist-packages', 
'/usr/lib/python2.7/dist-packages']

ありがとう。

theuser@ip-12-345-67-8:~/data/projects$ ls -lah
total 20K
drwxrwxr-x 5 theuser theuser 4.0K Jul  2 18:50 .
drwxr-xr-x 5 theuser theuser 4.0K Jul  2 16:48 ..
drwxrwxr-x 2 theuser theuser 4.0K Jul  2 17:18 database
drwxrwxr-x 2 theuser theuser 4.0K Jul  2 18:28 analysis
drwxrwxr-x 5 theuser theuser 4.0K Jul  2 19:18 mypack
4

2 に答える 2

2

PYTHONPATH含むべきでは/home/theuser/data/projectsありません/home/theuser/data/projects/mypack

Python に を要求するとimport mypack、検索パスを使用してまたはを含むmypack.pyディレクトリを探します。mypack__init__.py

これは、内部にいる場合に機能します。これは、 が利用可能である.../projectsためmypack/__init__.py(および の''エントリが現在の作業ディレクトリを検索するため)、そうでない場合は、指定した でsys.path見つけることができません。mypack/__init__.pyPYTHONPATH

于 2013-07-02T19:52:30.677 に答える
1

「/home/theuser/data/projects/mypack」ではなく、「/home/theuser/data/projects」を PYTHONPATH に含める必要があるようです。

于 2013-07-02T19:51:51.867 に答える