如何在专用网络中安装python软件包

时间:2019-06-26 15:18:19

标签: python pip pypi

我是一位经验丰富的程序员,但对python来说是新手。我的公司要求我们为某些项目在专用网络上进行开发。专用网络上有一个pypi索引,可用于使用pip安装软件包。最近,在需要安装软件包的同时,pypi索引处于关闭状态并且关闭了几个小时。尽管最终确实恢复了,但是这种情况引出了一个问题:如何在没有索引的情况下安装软件包(也许是手动安装而没有pip)?我试图用谷歌搜索,但是空了出来。我敢肯定有办法,但是我可能找不到合适的词组。感谢您的帮助。

3 个答案:

答案 0 :(得分:1)

如果您具有对软件包存储库的读取权限,则可以手动安装Python软件包。每个Python软件包的根目录中都有一个setup.py文件,您可以执行

之类的操作
python setup.py sdist

这将创建一个名为dist的子目录,其中包含一个压缩的存档文件tar.gz.zip,具体取决于您的操作系统。您可以将此存档文件传递给pip并安装软件包

pip3 install some-python-package.tar.gz

答案 1 :(得分:1)

我将下载并安装车轮。为此,您需要安装滚轮套件:

import itertools import matplotlib.pyplot as plt import seaborn as sns import pandas as pd def make_data(): data = [{'Time': '201501', 'type1': 100, 'type2': 200, 'type3': 300}, {'Time': '201502', 'type1': 150, 'type2': 250, 'type3': 350}, {'Time': '201503', 'type1': 300, 'type2': 300, 'type3': 300}, {'Time': '201504', 'type1': 350, 'type2': 350, 'type3': 350}] data = pd.DataFrame(data) data['Time'] = pd.to_datetime(data['Time'], format='%Y%m') data.set_index(['Time'], inplace=True) data = data.astype(float) return data def make_lineplot(data, i, color): fig, ax = plt.subplots() sns.set(style="ticks") sns.lineplot(x=data.index, y=i, data=data, color=color) sns.despine(offset=10, trim=True) fig.set_size_inches(18, 12) ax.set_title('{} History'.format(i), fontweight='bold') plt.savefig('{}.pdf'.format(i), bbox_inches='tight') def make_violinplot(data, i, color): fig, ax = plt.subplots() sns.set(style="ticks") sns.violinplot(y=i, data=data, color=color) sns.despine(offset=10, trim=True) fig.set_size_inches(18, 12) ax.set_title('{} Violin Plot'.format(i), fontweight='bold') plt.savefig('{}_violin.pdf'.format(i), bbox_inches='tight') data = make_data() palette = itertools.cycle(sns.color_palette(palette=sns.colors.crayons)) # I had to use the line below to get the code to run # palette = itertools.cycle(sns.color_palette(palette=sns.crayon_palette(sns.colors.crayons))) for i, color in zip(data, palette): make_lineplot(data, i, color) make_violinplot(data, i, color)

然后您可以告诉pip安装项目(如果有的话,它将下载滚轮),或者直接安装滚轮文件:

pip install wheel

wheel模块也可以从命令行运行,您可以使用它来安装已经下载的wheel:

pip install project_name  # download and install
pip install wheel_file.whl  # directly install the wheel

答案 2 :(得分:0)

有几种方法可以解决此问题。我知道的两个是:

  1. 使用代理获取标准PyPI。如果您的公司允许,那么您可以通过其代理传输流量,并从PyPA的标准位置安装软件包。

  2. 使用本地托管的索引。您所需要做的只是一个https://pypi.org/simple/结构的目录,然后您可以public IHttpActionResult Get() { var systemID = Authenticator.AuthenticateUser(Request); if (systemID == 0) return Unauthorized(); var dc = DataContextFactory.GeneralDataContext(ConnectionStrings.GetSystemConnectionString(systemID)); return this.Ok(dc.GetPersonList(null, null, null, null, null, null)); } 并从那里安装软件包。