我正在从源文件构建一个包。
如果我运行参数
--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在哪里查找配置文件,并在那里保存带有所需选项的配置文件。