首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在``setup.py'‘中指定Python 2.7+和Python 3.xx (any)

在``setup.py'‘中指定Python 2.7+和Python 3.xx (any)
EN

Stack Overflow用户
提问于 2017-01-14 03:26:22
回答 1查看 1.8K关注 0票数 5

我的"setup.py“目前包含以下语句:

代码语言:javascript
复制
setup(...
    classifiers = [
            ...
            "Programming Language :: Python :: 2.7",
            "Programming Language :: Python :: 3",
            "Programming Language :: Python :: 3.1",
            "Programming Language :: Python :: 3.2",
            "Programming Language :: Python :: 3.3",
            "Programming Language :: Python :: 3.4",
            "Programming Language :: Python :: 3.5",
            "Programming Language :: Python :: 3.6",
            "Programming Language :: Python",
            ...
            ],
    ...
    )

有没有一种方法可以让我指定“任何Python 3,从3.0开始”,而不是显式地枚举所有现有的和未来的Python?

我这样问的原因是,即使在上面指定了通用的"Programming Language ::Python ::3“,Anaconda安装也会失败,并显示:

代码语言:javascript
复制
Fetching package metadata ......... 
Solving package specifications: .... 
UnsatisfiableError: The following specifications were found to be in conflict:  
- dendropy 
- python 3.5
* Use "conda info <package>" to see the dependencies for each package

pip安装运行良好。

谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-01-14 23:22:48

分类器只是一个提示,当你安装一个包时,conda installpip install都不会查看它们。这些提示适用于搜索包或查看包的人。如果一个包支持所有的Python3版本,那么无论你是显式地列出它们,还是仅仅以"Programming Language :: Python :: 3"的形式列出,我猜大多数访问者都会知道这是什么意思--这更多的是作者个人偏好的问题(以及已经选择的分类器的数量)。

但是,当您使用conda安装包时(即使它是纯python),它必须针对您正在使用的python和OS版本进行构建。在您的示例中,您尝试从ericmjl conda channel安装。此通道包含python 3.5版本,但仅适用于OSX,linux的二进制文件仅适用于python 3.4。

您可以使用pip:pip install dendropy将其从PyPI安装到conda环境中(确保使用安装在conda环境中的pip )。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41642066

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档