我是一位经验丰富的程序员,但对python来说是新手。我的公司要求我们为某些项目在专用网络上进行开发。专用网络上有一个pypi索引,可用于使用pip安装软件包。最近,在需要安装软件包的同时,pypi索引处于关闭状态并且关闭了几个小时。尽管最终确实恢复了,但是这种情况引出了一个问题:如何在没有索引的情况下安装软件包(也许是手动安装而没有pip)?我试图用谷歌搜索,但是空了出来。我敢肯定有办法,但是我可能找不到合适的词组。感谢您的帮助。
答案 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)
有几种方法可以解决此问题。我知道的两个是:
使用代理获取标准PyPI。如果您的公司允许,那么您可以通过其代理传输流量,并从PyPA的标准位置安装软件包。
使用本地托管的索引。您所需要做的只是一个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));
}
并从那里安装软件包。