Как написать setup.py для программы, которая зависит от пакетов вне pypi - PullRequest
0 голосов
/ 07 августа 2009

Например, что если PIL, python-rsvg и libev3 являются зависимостями программы? Эти зависимости отсутствуют в индексе pypi, последние две являются именами пакетов Debian.

Ответы [ 4 ]

4 голосов
/ 08 августа 2009

Вы можете использовать setuptools. setuptools позволяет добавлять в качестве зависимости любой устанавливаемый Python (любой пакет с поддержкой distutils / setuptools) независимо от того, включен он в PyPI или нет.

Например, чтобы зависеть от PIL 1.1.6, используйте что-то вроде:

setup(...,
      install_requires = ["http://effbot.org/downloads/Imaging-1.1.6.tar.gz"],
      ...)

См. setuptools документы для получения дополнительной информации.

2 голосов
/ 07 августа 2009

Просто не помещайте их в свои зависимости и не документируйте это в INSTALL или README.

0 голосов
/ 08 августа 2009

Поскольку setup.py также является кодом Python, вы можете просто загрузить и запустить setup.py для этих пакетов.

0 голосов
/ 07 августа 2009

Если вы упаковываете что-то для установки в Debian (как подразумевается), лучший способ управлять зависимостями - это упаковать вашу программу как .deb и выразить зависимости способом Debian. (Обратите внимание, PIL доступен в Debian как python-imaging.)

...