无刺鱼米饭 发表于 2023-6-16 19:33:44

内网环境下批量安装python库

最近组里安排了新内网,又要配环境。
众所周知,内网安装python库需要先到www.pypi.org找到对应版本的包,然后再下载whl文件,上传到内网,再用pip install "文件地址"去安装。
这样就会出现一个问题,鬼知道这个包需要的前置依赖是什么,pip会自动检查前置依赖,然后自动从源下载,但是内网又连不上互联网,然后要等三五次连接失败才结束。
深感这个过程之麻烦,于是写了两个powershell脚本,一个自动批量下载指定的包,一个自动安装所有的包。
使用过程如下:

[*]首先查看内网环境的python版本,然后在外网的anaconda中创建一个同样python版本的虚拟环境,这是为了保证pip自动安装的库的版本能使用在内网里。
[*]打开anaconda powershell promt,这是内置了anaconda指令的powershell控制台,切换到对应的虚拟环境。

[*]替换下面脚本中的包列表字符串和文件夹地址字符串,然后复制粘贴并运行,运行完就会下载好包含各种whl的文件夹了
# 替换,包必须是能正常pip install的包,例如包含cv2模块的包不是cv2,而是opencv-python
$packagesString = "matplotlib pyside6 opencv-python"
# 替换,最后要加'\'
$folder = "E:\python3_9_12\"

$packages = $packagesString -split " "
foreach ($package in $packages) {
        pip download $package -d $folder$package
}



[*]上传到内网,然后在内网的powershell中运行以下脚本,即可将文件夹下所有的库都安装到当前的python环境中。
# 替换成内网中的路径,最后要加'\'
$folderPath = "D:\python\"

$folders = Get-ChildItem -Path $folderPath -Directory

foreach ($folder in $folders) {
    pip install --no-index --find-links=$folderPath$folder $folder
}
最后就大功告成了,终于摆脱了麻烦的安装过程。

来源:https://www.cnblogs.com/LuisonLiu/p/17485853.html
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作!
页: [1]
查看完整版本: 内网环境下批量安装python库