什么需要在setup.py中创建一个轮子?

时间:2017-02-21 13:43:41

标签: python setup.py python-wheel

我有一个Python项目[prj/fold1, prj/fold2,..., prj/foldN, prj/requirements.txt] ,我们可以将其描述为文件夹的集合 和setup.py文件:

setup.py

我想打包这个项目,以便它可以轻松地安装在其他计算机上。我的理解是我需要添加一个(virtual_env_test) lpuggini@lpuggini-T3420:~/mlp/trunk$ cat setup.py from setuptools import setup setup(name='mlearn', version='0.1', description='Tool to learn ip addresses on a network.', author='Corvil', author_email='...', packages=['common', 'iplearning', 'applearning', 'peerspeak'], package_dir={ 'common':'common', 'iplearning': 'iplearning', 'applearning': 'applearning', 'peerspeak':'peers_peak'}, ) (virtual_env_test) lpuggini@lpuggini-T3420:~/mlp/trunk$ 文件,但有些事情我不明白。

我应该在 (virtual_env_test) lpuggini@lpuggini-T3420:~/mlp/trunk$ python setup.py bdist_wheel running bdist_wheel running build running build_py package init file 'iplearning/__init__.py' not found (or not a regular file) package init file 'applearning/__init__.py' not found (or not a regular file) package init file 'peers_peak/__init__.py' not found (or not a regular file) creating build/lib/peerspeak copying peers_peak/peers_peak.py -> build/lib/peerspeak copying peers_peak/peers_peak_report.py -> build/lib/peerspeak installing to build/bdist.linux-x86_64/wheel running install running install_lib creating build/bdist.linux-x86_64 creating build/bdist.linux-x86_64/wheel creating build/bdist.linux-x86_64/wheel/peerspeak copying build/lib/peerspeak/peers_peak.py -> build/bdist.linux-x86_64/wheel/peerspeak copying build/lib/peerspeak/peers_peak_report.py -> build/bdist.linux-x86_64/wheel/peerspeak creating build/bdist.linux-x86_64/wheel/iplearning copying build/lib/iplearning/iplearning_report.py -> build/bdist.linux-x86_64/wheel/iplearning copying build/lib/iplearning/learnips.py -> build/bdist.linux-x86_64/wheel/iplearning copying build/lib/iplearning/disttest.py -> build/bdist.linux-x86_64/wheel/iplearning copying build/lib/iplearning/detect_new_ips.py -> build/bdist.linux-x86_64/wheel/iplearning copying build/lib/iplearning/setup.py -> build/bdist.linux-x86_64/wheel/iplearning creating build/bdist.linux-x86_64/wheel/applearning copying build/lib/applearning/detect_new_apps.py -> build/bdist.linux-x86_64/wheel/applearning creating build/bdist.linux-x86_64/wheel/common copying build/lib/common/__init__.py -> build/bdist.linux-x86_64/wheel/common copying build/lib/common/utils.py -> build/bdist.linux-x86_64/wheel/common running install_egg_info running egg_info creating mlearn.egg-info writing top-level names to mlearn.egg-info/top_level.txt writing mlearn.egg-info/PKG-INFO writing dependency_links to mlearn.egg-info/dependency_links.txt writing manifest file 'mlearn.egg-info/SOURCES.txt' reading manifest file 'mlearn.egg-info/SOURCES.txt' writing manifest file 'mlearn.egg-info/SOURCES.txt' Copying mlearn.egg-info to build/bdist.linux-x86_64/wheel/mlearn-0.1-py3.5.egg-info running install_scripts creating build/bdist.linux-x86_64/wheel/mlearn-0.1.dist-info/WHEEL (virtual_env_test) lpuggini@lpuggini-T3420:~/mlp/trunk$ 文件中写什么才能创建轮包?您能提供打包项目所需文件和命令的示例吗?

编辑:

我有这个setup.py:

whl

我跑了:

{{1}}

但我没有看到任何{{1}}文件。怎么了?

1 个答案:

答案 0 :(得分:6)

您不需要在setup.py中编写任何特殊内容,以便能够制作滚轮。只要您的setup.py使用setuptools(无论如何都应该使用),您只需编写一个普通的setup.py,在您的系统上安装wheel包,然后运行{ {1}}。