内网配置python开发环境

38 阅读2分钟
一、下载vscode

问题:vscode没有python扩展不能编写python。 解决:需要下载.vsix文件,传到内网。通过官网下载python扩展文件。

问题:内网系统版本为win7,最高只支持python3.8,vscode版本也较低,版本不匹配。 解决:open-vsx.org/ 这个开源的扩展注册表,提供了大量vscode扩展,饼允许手动下载扩展的安装文件,且有历史版本,找到对应老版本解决。

二、配置环境

问题:断网的情况下显然不能用pip直接install什么包下来了。 解决:在外网把fastapi对应3.8的版本确定,去内网仓库找相应的.whl文件安装。

问题:提示没有对应版本的其他包。 解决:在外网配置对应环境的python版本,通过pip的方式把fastapi安装好,再导出离线包去内网安装。 (一开始还查到要装个什么pipreqs、pip-tools,后来发现完全没必要,用pip自带命令就好,因为又被版本匹配卡住了。)

  • 生成requirements.txt
$ pip freeze > requirements.txt
  • 导出离线包
$ pip download -r requirements.txt -d /path/to/destination

将离线包导出到对应路径。

  • 内网安装
$ pip wheel -r requirements.txt -w /path/to/destination

然而,失败。可气的是这种方式没网都要去网上找,所以

pip install -r requirements.txt --no-index --find-links=file:///path/to/whl/directory

这样才能用离线包去安装,其中 /path/to/whl/directory 是包含 .whl 文件的目录的路径。这个命令会读取 requirements.txt 文件,并安装其中列出的包,同时使用 --no-index 参数告诉 pip 不要从网络上查找包,而是直接从本地的 .whl 文件安装。--find-links 参数用于指定 .whl 文件所在的目录。

这样,pip 就会按照 requirements.txt 文件中列出的包的顺序,从本地安装对应的 .whl 文件。