您的问题来自这样一个事实,即带有EB的EC2上的PIP版本已经很旧,并且无法理解您的选择。
- 使用EB命令将pip lib更新到最新可用版本:
project_dir / .ebextensions / 02-python.config:
...commands: 01_upgrade_pip_for_venv: command: "/opt/python/run/venv/bin/pip install --upgrade pip"...
- 现在,您可以在require.txt中保留选项,因为新版本的pip可以使用它。
project_dir / requirements.txt:
...pycurl==7.43.0 --global-option="--with-nss"...
- (这可能是多余的)在EB控制台用户界面中或通过eb CLI使用以下命令设置选项:
eb setenv PYCURL_SSL_LIBRARY = nss
- 将更改推送到存储库并重建。由于执行是从外部作用域控制的,并且从旧版本的PIP开始,因此您可能会出错。执行的入口点在EC2实例上的应用程序外部,因此我不确定如何带来在第一次部署时就可以在钩子范围内使用的解决方案…但是您要做的就是再次部署,并且它将使用适当的版本的PIP,因此从现在开始可以使用,直到下一次重建…



