在构建中使用pip的配置文件



我正在从源文件构建一个包。

如果我运行参数

--no-isolation

它成功构建。但是,如果我尝试在一个孤立的环境中构建,那么尝试安装包时会失败[SSLCertVerificationError]。在我的正常环境中,我已经通过将以下内容添加到pip.ini 中解决了问题

[global]
trusted-host = pypi.org
files.pythonhosted.org
pypi.python.org

我可以向命令中添加什么,以便构建过程中的PIP将使用此配置文件。

python -m build [WHAT GOES HERE]

它失败的特定线路是:

subprocess.CalledProcessError: 
Command '['\Temp\build-env-zu51awtu\Scripts\python.exe', '-Im', 'pip', 'install', '--use-pep517', '--no-warn-script-location', '-r', '\Local\Temp\build-reqs-7xyim3xs.txt']' returned non-zero exit status 1.

在这个过程中,似乎没有直接的方法将配置文件应用于pip。

查看build/env中的源代码,第228-238行

cmd = [
self.executable,
'-Im',
'pip',
'install',
'--use-pep517',
'--no-warn-script-location',
'-r',
os.path.abspath(req_file.name),
]
_subprocess(cmd)

这可以通过向该列表添加额外的参数来直接修改,也可以通过在程序中较早执行来修改

popen = subprocess.Popen(cmd, stdout=subprocess.PIPE, universal_newlines=True)
for stdout_line in iter(popen.stdout.readline, ""):
print(stdout_line)

您将能够看到pip在哪里查找配置文件,并在那里保存带有所需选项的配置文件。

最新更新