如何安装废弃版本的Jax —— pypi服务器上不保存的python包应该如何安装

发布时间 2024-01-08 21:11:46作者: Angry_Panda

python的公开扩展包的存储是在网站:
http://pypi.org/


一般情况下,这是没有问题的,但是对于一些更新版本比较多的扩展包就出现了问题,因为pypi的服务器对每个项目(扩展包)都是由存储限额的,因此每个项目只能在pypi服务器上存储一定数量的版本,这样也就必然导致旧版本的删除,这种情况比较常见于更新频繁的包,如pytorch、TensorFlow、jax等。


对于pypi服务器上不再保存的老旧版本的python包,我们如果需要使用就需要通过其他方法来安装。比如Google会为本公司出品的python扩展包提供云存储,比如下面要给出的Jax的老版本的云盘路径,但是这种的也是比较少见的,毕竟自家公司有云盘的并不多,因此遇到这种情况我们可以通过以下几种途径尝试获得pypi服务器上不再保存的python包:

  1. 尝试在pypi上对应的项目页面找到源码项目的存放地址,如github地址,在上面找到老旧版本的release。
  2. 尝试conda安装,conda的存储是独立于pypi的,但是要注意conda的存储也是会动态的对旧版本的进行删除的,只不过由于pypi和conda上对旧版本包的删除是独立进行的,因此有可能会在pypi上删除但是conda上还有保存。
  3. 网络搜索。网上有一些网友,会因为网络下载等问题不选择在线安装python包,而是下载后离线安装,然后他们会对这些老旧版本的python包有保存,比较常见的如:网友分享的百度云盘上保存的老旧包,csdn上保存分享的老旧包。
  4. 个人多年前安装的环境(pypi的pip安装过的环境,或者conda搭建的环境),或许会遗存有对应版本的python扩展包。

PS. 个人的一个经验,那就是对于你的工作环境,或者比较常用的环境,比较重要的环境,不仅要把项目代码(GitHub上的项目代码)进行保存,也应该把对应环境的各种包进行保存(直接把对应的配置过的python环境进行保存),如果是深度学习项目也可以把网络权重进行保存,总之就是能保存的都保存,不论是代码、环境、网络权重、配置参数,等等,能保存的都保存,否则日后如果需要用到就是一个自己坑自己的事情。


关于神经网络的权重保存见:
https://www.modelscope.cn/my/overview

image






Jax的老旧版本(pypi上不再保存的版本)的安装:

# Install jaxlib on CPU via the wheel archive
pip install jax[cpu]==0.3.25 -f https://storage.googleapis.com/jax-releases/jax_releases.html

# Install the jaxlib 0.3.25 CPU wheel directly
pip install jaxlib==0.3.25 -f https://storage.googleapis.com/jax-releases/jax_releases.html

资料地址:
https://jax.readthedocs.io/en/latest/installation.html


image