我在python 2.7中开发自己的模块.它位于~/Development/.../myModule而不是/usr/lib/python2.7/dist-packages或/usr/lib/python2.7/site-packages.内部结构是:
/project-root-dir
/server
__init__.py
service.py
http.py
/client
__init__.py
client.py
Run Code Online (Sandbox Code Playgroud)
client/client.py包括PyCachedClient课程.我有进口问题:
project-root-dir$ python
Python 2.7.2+ (default, Jul 20 2012, 22:12:53)
[GCC 4.6.1] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> from server import http
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "server/http.py", line 9, in <module>
from client import PyCachedClient
ImportError: cannot import name PyCachedClient
Run Code Online (Sandbox Code Playgroud)
我没有将PythonPath设置为包含my project-root-dir,因此当server.http尝试包含client.PyCachedClient时,它会尝试从相对路径加载它并失败.我的问题是 - 如何以良好的pythonic方式设置所有路径/设置?我知道export PYTHONPATH=... …