如何在专用网络中安装 python 个软件包
How to install python packages in a private network
我是一名经验丰富的程序员,但对 python 还是个新手。我的公司要求我们为我们的一些项目在专用网络上进行开发。专用网络上有一个 pypi 索引,可用于使用 pip 安装包。最近需要安装一个包,pypi index down了,宕机了好几个小时。尽管它最终确实恢复了,但情况引出了一个问题,在没有索引的情况下如何安装包(可能是手动而不是 pip)?我试过 google 这个,但一无所获。我确定有办法,但我可能没有在寻找正确的短语。感谢您的帮助。
有几种方法可以解决此问题。我知道的两个是:
使用代理访问标准 PyPI。如果你的公司允许,那么你可以通过他们的代理隧道传输你的流量,并从 PyPA 的标准位置安装包。
使用本地托管的索引。您只需要一个结构类似于 https://pypi.org/simple/ 的目录,然后您可以 pip install -i ~/my/personal/index/path
并从那里安装软件包。
如果您对软件包存储库具有读取权限,则可以手动安装 Python 个软件包。每个 Python 包的根目录中都有一个 setup.py
文件,您可以执行类似
的操作
python setup.py sdist
这将创建一个名为 dist
的子目录,其中包含一个压缩存档文件,tar.gz
或 .zip
,具体取决于您的 OS。您可以将此存档文件传递给 pip 并安装软件包
pip3 install some-python-package.tar.gz
我会下载 wheel 并安装它。为此,您需要安装 wheel 包:
pip install wheel
然后你可以告诉 pip 安装项目(如果可用的话它会下载 wheel),或者直接下载 wheel 文件:
pip install project_name # download and install
pip install wheel_file.whl # directly install the wheel
wheel 模块也可以从命令行运行,您可以使用它来安装 already-downloaded wheels:
python -m wheel install wheel_file.whl
我是一名经验丰富的程序员,但对 python 还是个新手。我的公司要求我们为我们的一些项目在专用网络上进行开发。专用网络上有一个 pypi 索引,可用于使用 pip 安装包。最近需要安装一个包,pypi index down了,宕机了好几个小时。尽管它最终确实恢复了,但情况引出了一个问题,在没有索引的情况下如何安装包(可能是手动而不是 pip)?我试过 google 这个,但一无所获。我确定有办法,但我可能没有在寻找正确的短语。感谢您的帮助。
有几种方法可以解决此问题。我知道的两个是:
使用代理访问标准 PyPI。如果你的公司允许,那么你可以通过他们的代理隧道传输你的流量,并从 PyPA 的标准位置安装包。
使用本地托管的索引。您只需要一个结构类似于 https://pypi.org/simple/ 的目录,然后您可以
pip install -i ~/my/personal/index/path
并从那里安装软件包。
如果您对软件包存储库具有读取权限,则可以手动安装 Python 个软件包。每个 Python 包的根目录中都有一个 setup.py
文件,您可以执行类似
python setup.py sdist
这将创建一个名为 dist
的子目录,其中包含一个压缩存档文件,tar.gz
或 .zip
,具体取决于您的 OS。您可以将此存档文件传递给 pip 并安装软件包
pip3 install some-python-package.tar.gz
我会下载 wheel 并安装它。为此,您需要安装 wheel 包:
pip install wheel
然后你可以告诉 pip 安装项目(如果可用的话它会下载 wheel),或者直接下载 wheel 文件:
pip install project_name # download and install
pip install wheel_file.whl # directly install the wheel
wheel 模块也可以从命令行运行,您可以使用它来安装 already-downloaded wheels:
python -m wheel install wheel_file.whl