如何为依赖于pypi之外的包的程序编写setup.py

时间:2009-08-07 13:46:33

标签: python setuptools

例如,如果PILpython-rsvglibev3是程序的依赖项,该怎么办?这些依赖项不在pypi索引中,后两者是Debian软件包名称。

4 个答案:

答案 0 :(得分:4)

您可以使用setuptools。 setuptools允许您添加任何类型的Python可安装(任何distutils / setuptools启用包)作为依赖项,无论它是否在PyPI上。

例如,要依赖PIL 1.1.6,请使用以下内容:

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

有关详细信息,请参阅setuptools文档。

答案 1 :(得分:2)

只是不要将它们放在您的依赖项中,并在INSTALL或README中记录它们。

答案 2 :(得分:0)

如果要打包要在Debian上安装的东西(如暗示的那样),管理依赖项的最佳方法是将程序打包为.deb并以Debian方式表示依赖项。 (注意,PIL在Debian中可用python-imaging。)

答案 3 :(得分:0)

由于setup.py也是Python代码,您只需下载并运行这些软件包上的setup.py即可。