假设有一个 python 脚本使用了 numpy、pandas、keras、tensorflow 等库。
现在如何在本地下载所有库,以便脚本不会因库中的任何更新而中断。
我的意思是,如果将来某个库停止使用,并且我想将其用于以前未安装的另一台机器上,该怎么办?这里可以做什么?
您应该创建一个虚拟环境,在
激活虚拟环境后,将依赖项的特定版本(例如
numpy
和pandas
)与pip
一起安装到其中。然后,您可以 (1) 在运行脚本之前激活虚拟环境,或者显式地将 shebang 添加到虚拟环境的 bin(例如 Linux)或 Scripts(例如 Windows)目录:
#!/path_to_virtual_environement/bin/python
...
这是一种适用于所有应用程序的通用方法,以便每个应用程序的库依赖项都整齐地封装在其自己的虚拟环境中。这使得将应用程序迁移到另一台机器变得更容易,因为可以轻松确定其所有依赖项。
我的2美分建议: 请在项目根目录下的文本文件中列出您正在使用的所有软件包以及版本号
内容可能是这样的
package_1==版本号 package_2==版本号 例如。
考虑一个仅包含以下内容的requirements.txt 文件:
numpy==2.0.0
matplotlib==3.9.1
Flask==3.0.3
为了可移植性,可以保留上述文件。它允许您仅移动最少的代码以及一些必要的静态文件。可以使用此requirements.txt 文件下载大部分库,而不会破坏您的代码,如下所述:
无论您的代码部署在哪里,您始终可以使用以下命令创建一个虚拟环境,其中包含您上次维护代码的特定版本的 python 以及特定版本的软件包(将在激活特定 python 版本虚拟环境后安装)