所以我一直在研究一个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以获取详细的叙述说明(快速入门很有帮助)