我已将一些模块从site-packages
我的 windows pc 上的标准位置复制到 EC2 ubuntu 实例的用户主目录中:/home/theuser/data/projects/mypack
.
mypack
包含
1) 一空__init__.py
的和
2)一个子目录mymodules
,其中我有我的python模块文件以及一个__init__.py
运行from thefile import thefile
语句的文件。
我确保同时编辑.bashrc
和.profile
fortheuser
以更新PYTHONPATH
. 我确保开始一个新的会话,以theuser
.
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权限不是很熟悉,上面的设置在我的电脑上测试OK。一些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