我正在替某人度假,而我对 Python 还很陌生。我被要求在虚拟环境中安装多个软件包。最大的问题是服务器不能位于公共(public)网络上,因此我将在不同的服务器上下载软件并将其复制到研究人员将工作的服务器上。
我在 Install Virtualenv without internet connectivity 找到了另一个线程“在没有互联网连接的情况下安装 Virtualenv” ,但这不适合我所处的情况 - 看起来他们可以从网络上的服务器启动来完成安装,并希望将该 virtualenv 共享到可能没有 Internet 连接的实验室环境中的其他系统。
另一个线程“python:如何在没有互联网连接的情况下创建 virtualenv”,位于 python: How to create virtualenv without internet connection ,类似,但看起来他们已经安装了 virtualenv。我在这里没有找到 virtualenv 安装。
此 Windows Server 2016 系统已锁定,我无法复制和粘贴我运行的命令来提供以下信息,因此请原谅仓促编写的消息中的任何拼写错误。我找到了安装的python版本:
python --version
Python 3.6.2rc1
我无法找到用于下载 virtualenv 的安装程序。我是否需要再次下载 Python 安装程序,重新运行它并选择其他选项?
感谢您提供的任何帮助。
编辑添加:
根据反馈,我将命令(在管理命令窗口中)更改为
python -m venv [path]
我已经取得了一些进展。
我能够下载 gz、whl 或其他文件并将它们移动到此服务器以在那里运行它们,但此服务器无法在线直接下载安装程序,也无法连接到存储库来下载依赖项。我无法在具有连接性的另一台计算机上设置环境并共享它而不违反安全要求。感谢您提供 Python 包离线安装线程的链接 - 我认为我过于狭隘地关注虚拟环境,以至于错过了那篇文章。
最佳答案
您使用的是 Python 3.6,这意味着 venv
包含在内并且 pip
如果需要的话可以引导。创建 venv 不需要互联网访问:
python3 -m venv .venv --prompt=myvenv
安装 pip 不需要互联网访问:
python3 -m ensurepip
从本地文件安装包不需要互联网访问:
python3 -m pip install --no-index --disable-pip-version-check ./mydist.tar.gz
如果您要安装多个软件包(例如,如果 mydist
有依赖项),您可以指定一个本地目录作为 --index-url
而不是索引默认为 PyPI。
涵盖了针对使用旧版本 Python 的用户的解决方案 here .
关于python:如何在没有互联网连接的情况下安装virtualenv,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52119544/