У меня есть тестовый установочный файл, который я сделал для простого скрипта "hello world". У меня есть пакет с именем mytest
, который имеет функцию hello
. Теперь у меня есть очень простой setup.py
. Все отлично работает, если я просто запускаю python setup.py install
. Но если я хочу установить lib в домашнюю папку (python setup.py install --home=/home/blah
), пакет больше не доступен (запуск import mytest
в python дает мне ImportError: No module named mytest
).
Должен ли я вручную добавить pth-файл в папку site-packages
? Я попробовал (с содержимым /home/blah/lib/python
, где находится мой пакет), и импорт mytest
работал нормально. Разве это не должно быть сделано автоматически? Или я что-то пропустил?
EDIT:
вывод установки:
ago@dellbert:~/py/mytest-0.1$ python setup.py install --home=/home/ago/py/
running install
running build
running build_py
copying src/mytest/mytest.py -> build/lib.linux-x86_64-2.6/mytest
running build_scripts
copying and adjusting src/main.py -> build/scripts-2.6
running install_lib
copying build/lib.linux-x86_64-2.6/mytest/mytest.py -> /home/ago/py//lib/python/mytest
byte-compiling /home/ago/py//lib/python/mytest/mytest.py to mytest.pyc
running install_scripts
copying build/scripts-2.6/main.py -> /home/ago/py//bin
changing mode of /home/ago/py//bin/main.py to 755
running install_egg_info
Removing /home/ago/py//lib/python/mytest-0.1.egg-info
Writing /home/ago/py//lib/python/mytest-0.1.egg-info
и setup.py:
from distutils.core import setup
setup(name='mytest',
description='test',
author='Ago',
author_email='email',
version='0.1',
package_dir={'mytest': 'src/mytest'},
packages=['mytest'],
scripts=['src/main.py']
)
Структура папок:
-src:
-mytest:
__init__.py
mytest.py
main.py
setup.py
main.py
- это просто исполняемый файл, который импортирует mytest и вызывает функцию print hello world. Но я попытался просто запустить import mytest
в python, чтобы увидеть, установлена ли lib.