Sal*_*ley 37 python windows egg python-wheel
为了在我们的公司内部分python项目,我需要进行可安装的分发.
这应该包括:
是否有一个简单的插件,(例如bdist_wheel的替代品)不仅会编译一个轮子而且还会编译该项目的组件?
显然我可以编写脚本,但我希望可能有一个快捷方式,可以用更少的步骤构建软件包+依赖项.
这需要在Windows + Linux上使用Python 2.7.
Mik*_*oll 42
您需要setup.py为包创建一个文件.确保安装了最新的setuptools和pip.然后运行以下命令:
python setup.py bdist_wheel
Run Code Online (Sandbox Code Playgroud)
这将为您的包创建一个wheel文件.这假设您没有C/C++标头,DLL等.如果您这样做,那么您可能还有很多工作要做.
要获取依赖项,您需要创建一个requirements.txt文件并运行以下命令:
pip wheel -r requirements.txt
Run Code Online (Sandbox Code Playgroud)
如果您的软件包不在PyPI上,那么您必须手动将软件包的wheel文件复制到此命令创建的wheel文件夹中.有关更多信息,请参阅以下优秀文章:
jtp*_*yda 29
凭借最新的pip和wheel,你可以简单地运行
pip wheel .
Run Code Online (Sandbox Code Playgroud)
在您的项目文件夹中,即使您的应用程序不在PyPi上.所有车轮都将存放在./wheelhouse.但是,当我尝试它时,它错过了我的一个依赖项,我需要手动构建它.不知道为什么.
使用诗歌,您可以在项目根目录的文件中定义有关项目的依赖项和元数据,称为pyproject.toml:
[tool.poetry]
name = "my-project"
version = "0.1.0"
description = "some longer description"
authors = ["Some Author <some@author.io>"]
[tool.poetry.dependencies]
python = "*"
[tool.poetry.dev-dependencies]
pytest = "^3.4"
Run Code Online (Sandbox Code Playgroud)
要将项目构建为轮子,请执行poetry build
$ poetry build
Building my-project (0.1.0)
- Building sdist
- Built my-project-0.1.0.tar.gz
- Building wheel
- Built my-project-0.1.0-py3-none-any.whl
Run Code Online (Sandbox Code Playgroud)
dist/使用轮子为您的项目创建一个文件夹。