为什么不能pip找到pysvn?

DJG*_*paJ 11 windows pip pysvn python-3.x

我正在开发一个用Python 2编写的项目,我正在将它升级到Python 3.到目前为止,我刚刚发现了一些很容易修复的语法错误.我所做的是在Python 3中创建了一个新项目,确保它有效,并将旧项目中的代码块复制到新项目中.

现在,我遇到了pysvn问题.最初,我收到了这个错误:

ImportError:没有名为'pysvn'的模块

此时,我尝试使用pip install pysvn,但没有用.我得到以下内容:

pip install pysvn

收集pysvn

找不到满足pysvn要求的版本(来自版本:)

找不到匹配的pysvn发行版

所以经过一些研究后,我去了pysvn 下载网站试过:

>pip install --index-url http://pysvn.tigris.org/project_downloads.html pysvn,这给了我这个错误:

收集pysvn

位于pysvn.tigris.org的存储库不是可信任或安全的主机,而是被忽略.如果此存储库可通过HTTPS使用,则建议使用HTTPS,否则您可以使用"--trusted-host pysvn.tigris.org"将此警告静音并允许它.

还有和我试过时一样的错误>pip install pysvn.

我的下一步是手动下载我需要的版本的.exe文件,我能够成功安装pysvn.我已经检查了site-packages目录,并且pysvn 确实存在,但是pip仍然无法告诉我任何有关它的信息:

>pip show pysvn

>
Run Code Online (Sandbox Code Playgroud)

当我为另一个安装的模块,例如selenium执行此操作时,我得到以下内容:

pip show selenium


元数据 - 版本:1.1

名称:硒

版本:2.49.2

简介:Selenium的Python绑定

主页:https://github.com/SeleniumHQ/selenium/

作者:UNKNOWN

作者电子邮件:未知

许可证:未知

位置:...\lib\site-packages

要求:

我能够验证pysvn的安装是否成功,因为我的项目现在运行而不是给我ImportError.

那么为什么pip不能给我成功安装的同一目录中的另一个模块的信息呢?

DJG*_*paJ 6

事实证明,因为我没有使用pip installpysvn,pip不知道pysvn存在.因为它不能从PyPI(Python包索引)中获得,所以pip无法看到它(因为这pip是首先找到它试图安装的包的地方).

来自pip用户指南:

pip支持从PyPI,版本控制,本地项目以及直接从分发文件安装.

由于我最终pysvn自己的下载站点(不是上述4个选项中的任何一个)下载并手动运行.exe,即使它与pip安装的其他软件包位于同一目录中,也pip根本不知道.

我想我也可以检索分发文件并pip与之一起使用,但我的解决方法可以解决问题.

  • PyPI 不允许一个版本的 python 超过 1 个二进制文件。Pysvn 支持每个 SVN 版本一个二进制文件。这一切都意味着 PyPI 不够强大,无法支持像 pysvn 这样的扩展。这是 PyPI 的一个已知问题。 (3认同)