我的"setup.py“目前包含以下语句:
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安装也会失败,并显示:
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 packagepip安装运行良好。
谢谢!
发布于 2017-01-14 23:22:48
分类器只是一个提示,当你安装一个包时,conda install或pip 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 )。
https://stackoverflow.com/questions/41642066
复制相似问题