pip安装包,如何查询到对应包所有可用版本号?
发布于 作者:苏南大叔 来源:程序如此灵动~一般来说,使用pip install
安装包的时候,可能是不关心具体安装的是哪个版本的。或者说,只要是安装的是最新的版本就好。但是,这样操作往往可能会产生版本冲突问题。
大家好,这里是苏南大叔的“程序如此灵动”博客。这里记录苏南大叔和一些程序代码的事情。本文中,苏南大叔和大家分享的是:如何得到某个pip
包的所有可能版本号,以便有选择性的安装相应的python
软件包。
本文测试环境:win10
,python@3.6.8
、pip@21.3.1
。友情出镜的软件包是neo4j-driver
。
基本情况
基本情况就是,苏南大叔安装了最新的neo4j
的社区版,版本号是4.4.3
。然而,使用pip install neo4j-driver
得到的软件包并不能适应这个最新的neo4j@4.4.3
。也就是说,苏南大叔需要主动指定neo4j-driver
的版本号,以适应neo4j
软件。
当然,本文中,neo4j-drive
仅仅是友情出镜,并不是主角。可以通过pip show
命令查看当前对应包的具体信息。
解决方案就是去故意触发一个pip install
错误,然后对应的错误提示信息里面,就有所需要的版本信息列表。
解决方案一
第一个方案就是:
pip install <package>==
也就是说,不知道合适的版本号是啥,就留空这个版本号。
结果,对于本文友情出镜的neo4j-driver
来说,这个方案失败了。因为它竟然解析出了版本号0.0.0
。顺利安装出来了一个版本。
解决方案二(推荐)
第二个方案就是:
pip install <package>==999999999999
也就是说,不知道合适的版本号是啥,就给出一个根本不可能存在的版本号。所以,这个99999
也就是个虚数,只要是个根本不可能的版本号就可以。
对于本文友情出镜的neo4j-driver
来说,本方案成功了,成功的列出了所有可用的版本号。然后记得卸载当前(不主动卸载的话,安装过程中,也会卸载掉已经安装的文件包),然后再选择对应的版本号安装。
pip uninstall <package>
pip install <package>==<选好的版本号>
相关链接
- https://newsn.net/say/python-related-version.html
- https://newsn.net/say/python-pip-win.html
- https://newsn.net/say/python-pip-mac.html
题外话
如果主角从python
下的pip
,变成是nodejs
下的npm
的话,这个解决方案是:
npm view <package> versions
参考文章:
总结
pip
安装的时候,有很多命令可以使用。本文中的需求,目前似乎没有官方正式的命令,解决这个问题。但是,可以通过主动触发错误,来获得同样的效果。
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留作者链接。