这个问题已经在这里有了答案 :
install_requires基于python版本 (2个答案)
3个月前关闭。
我的setup.py看起来像这样:
from distutils.core import setup
setup(
[...]
install_requires=['gevent', 'ssl', 'configobj', 'simplejson', 'mechanize'],
[...]
)
在Python 2.6(或更高版本)下,ssl模块的安装由于以下原因而失败:
ValueError: This extension should not be used with Python 2.6 or later (already built in), and has not been tested with Python 2.3.4 or earlier.
有没有一种标准的方法来定义仅针对特定python版本的依赖关系?我当然可以做到,if float(sys.version[:3]) < 2.6:
但也许有更好的方法可以做到。
这只是一个列表,因此您必须在上面的某个地方有条件地建立一个列表。通常会执行以下操作。
import sys
if sys.version_info < (2 , 6):
REQUIRES = ['gevent', 'ssl', 'configobj', 'simplejson', 'mechanize'],
else:
REQUIRES = ['gevent', 'configobj', 'simplejson', 'mechanize'],
setup(
# [...]
install_requires=REQUIRES,
# [...]
)
问题内容: 当前,我们通过在under属性中提及它们的版本和依赖项来在系统上设置\安装一些软件包。我们的系统需要Python 2.7。有时,用户在其系统上拥有多个版本的Python,例如2.6.x和2.7,它说的某些软件包已经可用,但实际上在系统上的2.6站点软件包列表下可用。还有一些用户只有2.6,如何从中强制实施,或者有其他方法可以说只有python 2.7,而我们要更新的所有软件包仅适用于2
问题内容: 我正在尝试使用六个将python2软件包移植到python3(不是我自己的),以使其与两者兼容。但是,requirements.txt中列出的软件包之一现已包含在python3 stdlib中,而pypi版本在python3中不起作用,因此我想有条件地将其排除。在setup.py中执行此操作很容易,我可以执行以下操作: 但我也希望Requirements.txt也能反映正确的列表。我在
问题内容: 在setup.py两个选项,并混淆了我。根据此站点,使用创建到site-packages目录的特殊链接。 人们建议我使用全新安装,并且对安装文件进行任何更改之后。 任何人都可以阐明这些命令的用法吗? 问题答案: 用于安装(通常是第三方)您不会自行开发/修改/调试的软件包。 对于您自己的东西,您想先安装您的软件包,然后能够频繁编辑代码 而 不必每次都重新安装该软件包-正是这样:安装软件包
问题内容: 我有一个与Travis- CI一起使用的文件。看来愚蠢复制中都要求和,所以我希望到一个文件句柄传递给在kwarg 。 这可能吗?如果是这样,我应该怎么做呢? 这是我的文件: 问题答案: 你可以翻转它周围,列表中的依赖关系,并有单字符-点-在代替。 另外,即使不建议使用,也可以通过以下技巧(通过进行测试)来解析文件(如果它没有通过URL引用任何外部要求): 但是,这不会过滤环境标记。 在
问题内容: 我正在创建 setup.py 来分发我的应用程序。该应用程序具有许多可通过pip安装的依赖项,还具有一些无法从PyPI安装的自定义依赖项。 因此,我创建了一个将包含在发行版中的,并且必须在 setup.py 从安装了所有内容之后作为依赖项进行安装。 想象以下应用程序结构: 我怎么做? 问题答案: 可能但不确定应使用哪个setuptools版本。脚步: 在setup.py中 重要的是您的
我正在尝试在开发python模块时改进我的工作流程,并有一个相当基本的问题。 选择任一选项时究竟会发生什么。据我所知,开发将文件保留在原位,以便我可以修改它们并使用包,而安装将它们复制到我的 python 安装的站点包文件夹中。使用开发选项时,软件包如何链接到我的 python 安装。