zip_safe = False 在 setup.py 文件中不起作用
Posted
技术标签:
【中文标题】zip_safe = False 在 setup.py 文件中不起作用【英文标题】:zip_safe = False is not working in setup.py file 【发布时间】:2015-05-13 05:56:59 【问题描述】:我想将我的项目安装为文件夹而不是 .egg 文件。所以我在 setup.py 文件中的 setup 函数中使用了 zip_safe= False
但是当我运行它时,我的项目将安装为 .egg 文件,而不是 /Library/Python/2.7/site-packages 中的目录。下面是我的 setup.py 文件
from setuptools import setup, find_packages
setup(name = "my-project",
version = "0.1",
description = "Python version of my-project",
author = "Priyal Jain",
author_email = "jpriyal@gmail.com",
license="Apache 2.0",
keywords="Python my project",
package_dir='': 'lib',
#packages=find_packages('lib'),
packages= ['abc','pqr'],
package_data=
'abc.sample': ['*.yml']
,
zip_safe= False,
scripts = ["abc"],
classifiers=[
'Environment :: Console',
'Intended Audience :: Developers',
'Intended Audience :: Information Technology',
'Intended Audience :: System Administrators',
'Intended Audience :: Telecommunications Industry',
'Operating System :: OS Independent',
'Programming Language :: Python',
],
)
我错过了什么吗?有没有其他方法可以将 python 项目安装为目录而不是 .egg 文件
【问题讨论】:
【参考方案1】:包安装
您首先必须构建包。
# navigate into your python-package (where the setup.py is located)
python setup.py sdist
这将创建一个dist/
目录并创建一个 .tar.gz 文件
然后你用 pip 安装那个包
pip install dist/<your-packagename>
鸡蛋安装
如果你使用:
python setup.py install
它将作为鸡蛋安装。
编辑:
下载包
基本方法:构建包 --> .tar.gz 或 .zip 并在需要的位置解压缩包。你从 python 打包中获得 0 收益。
安装脚本的 Python 包,例如。命令行界面
docu
将脚本参数添加到您的 setup()
setup(
# ...
scripts = ['path-to/myscrypt',],
)
名称为 myscript
(没有 .py 结尾)的文件应该在第一行包含此文件
#!/usr/bin/env python
【讨论】:
我想让脚本可执行,这样我就可以从命令行运行它。但是如果我通过制作 dist 文件夹来运行,那么它将完整的文件放在 /usr/local/bin 中而不是编译的文件中。 好的,我不明白你的问题;-) 你想要一个安装脚本的包。 github.com/arteria/virtualenv-mgr/blob/master/setup.py#L21我编辑我的帖子 我认为这个答案与“是否有其他方法可以将 python 项目安装为目录而不是 .egg 文件”的问题不匹配以上是关于zip_safe = False 在 setup.py 文件中不起作用的主要内容,如果未能解决你的问题,请参考以下文章