Я разрабатываю свой собственный модуль в 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
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
Я не установил PythonPath для включения моего project-root-dir
, поэтому, когда server.http пытается включить client.PyCachedClient, он пытается загрузить его из относительного пути и терпит неудачу. Мой вопрос: как я должен установить все пути/настройки в хорошем, питоническом ключе? Я знаю, что могу запускать export PYTHONPATH=...
в оболочке каждый раз, когда открываю консоль и пытаюсь запустить свой сервер, но я думаю, что это не лучший способ. Если мой модуль был установлен через PyPi (или что-то подобное), я бы установил его в путь /usr/lib/python...
, и он будет загружен автоматически.
Я был бы признателен за советы по лучшим методам разработки модуля python.