用于构建具有依赖性/资源的python发行版的最佳工具

所以我一直在研究一个python项目,并且达到了我必须进行某种安装/分发的程度.现在这个项目有很多依赖项和一些资源.到目前为止,我正在努力创建一个setup.py但像scipy,matplotlib甚至numpy这样的东西都有一些easy_install的问题.现在这应该是一个跨平台的installer / distribution / exe,但是使用mac-os / linux也可以.现在我已经google了,Enstaller或Distribute似乎是setuptools的替代品,py2exe / pyinstaller似乎也很有用.现在我真的不想开始和每一个人一起努力,也许无处可去,所以我的问题是你考虑到依赖性和资源的数量是多少,你会推荐什么?

问候,
波格丹

解决方法:

我不知道这是否是你需要的,但对于基于python的包装

> pip with requirement
> buildout

您可以使用pastescript生成setup.py(或制作项目框架/模板)

setup.py的示例

简单

from setuptools import setup, find_packages

setup(
    name = "google killer",
    version = "0.1.0",
    url = 'http://example.com/',
    license = 'AGPL',
    description = 'best software ever',
    author = 'me',
    packages = find_packages('src'),
    package_dir = {'': 'src'},
    install_requires = ['numpy', 'scipy', 'sqlalchemy'],
)

复杂. pastescript在金字塔项目中制作

import os

from setuptools import setup, find_packages

here = os.path.abspath(os.path.dirname(__file__))
README = open(os.path.join(here, 'README.txt')).read()
CHANGES = open(os.path.join(here, 'CHANGES.txt')).read()

requires = ['pyramid', 'WebError']

setup(name='test',
      version='0.0',
      description='test',
      long_description=README + '\n\n' +  CHANGES,
      classifiers=[
        "Programming Language :: Python",
        "Framework :: Pylons",
        "Topic :: Internet :: WWW/HTTP",
        "Topic :: Internet :: WWW/HTTP :: WSGI :: Application",
        ],
      author='',
      author_email='',
      url='',
      keywords='web pyramid pylons',
      packages=find_packages(),
      include_package_data=True,
      zip_safe=False,
      install_requires=requires,
      tests_require=requires,
      test_suite="test",
      entry_points = """\                                                                  
      [paste.app_factory]                                                                  
      main = test:main                                                                     
      """,
      paster_plugins=['pyramid'],
      )

你可以在大多数python项目中找到它们

另外,请阅读The Hitchhiker’s Guide to Packaging以获取详细的叙述说明(快速入门很有帮助)

上一篇:Meta标签中的format-detection属性及含义


下一篇:python – 如何指定setuptools创建的命令脚本的shebang行