распространение приложения командной строки - PullRequest
2 голосов
/ 16 ноября 2011

Python новичок здесь.Я пытаюсь упаковать консольное приложение после этого doc .Для этого я создал следующую структуру каталогов :

.
├── bin
│   └── txts
├── setup.py
└── txtstyle
    ├── __init__.py
    ├── ...
    └── [snip]

В моем приложении есть один исполняемый скрипт, который я поместил в bin.Я мог бы успешно запустить

python setup.py sdist

и создать tar.gz.Однако я не могу выполнить скрипт из-под bin из-за ошибок импорта.

Поэтому мой вопрос: как скрипт может получить доступ к основному модулю из-под bin?

1 Ответ

3 голосов
/ 16 ноября 2011

Вам необходимо установить пакет.Это помещает все модули в глобальный путь модулей и, таким образом, позволяет импортировать их.Для разработки используйте python setup.py develop, который связывает модули в модуль python вместо их копирования.Таким образом, вам не нужно переустанавливать пакет при каждом изменении модуля.

Существует инструмент под названием virtualenv, который создает виртуальные среды Python.Вы можете устанавливать модули в такие среды, не касаясь глобального интерпретатора Python.

...