我正在Django应用程序上开发Elastic Beanstalk,当涉及到devops方面时,我有点天真。
我在安装pycurl时遇到了问题,有人建议我(使用不同的SO线程How to run a celery worker with Django app scalable by AWS Elastic Beanstalk?)将其添加到我的requirements.txt文件中,如下所示:
pycurl==7.43.0 --全局选项=“--with-nss”
这会导致:
ERROR: Command errored out with exit status 1:
command: /opt/python/run/venv/bin/python3.6 -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-04ket6ba/pycurl/setup.py'"'"'; __file__='"'"'/tmp/pip-install-04ket6ba/pycurl/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base /tmp/pip-install-04ket6ba/pycurl/pip-egg-info
cwd: /tmp/pip-install-04ket6ba/pycurl/
Complete output (22 lines):
Traceback (most recent call last):
File "/tmp/pip-install-04ket6ba/pycurl/setup.py", line 103, in configure_unix
stdout=subprocess.PIPE, stderr=subprocess.PIPE)
File "/usr/lib64/python3.6/subprocess.py", line 729, in __init__
restore_signals, start_new_session)
File "/usr/lib64/python3.6/subprocess.py", line 1364, in _execute_child
raise child_exception_type(errno_num, err_msg, err_filename)
FileNotFoundError: [Errno 2] No such file or directory: 'curl-config': 'curl-config'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "/tmp/pip-install-04ket6ba/pycurl/setup.py", line 823, in <module>
ext = get_extension(sys.argv, split_extension_source=split_extension_source)
File "/tmp/pip-install-04ket6ba/pycurl/setup.py", line 497, in get_extension
ext_config = ExtensionConfiguration(argv)
File "/tmp/pip-install-04ket6ba/pycurl/setup.py", line 71, in __init__
self.configure()
File "/tmp/pip-install-04ket6ba/pycurl/setup.py", line 107, in configure_unix
raise ConfigurationError(msg)
__main__.ConfigurationError: Could not run curl-config: [Errno 2] No such file or directory: 'curl-config': 'curl-config'
我不清楚哪里出了问题。
当我通过ssh进入EBS实例来尝试了解如何解决它时,我可以看到有关正在使用的pip版本的警告:
You are using pip version 9.0.1, however version 19.3.1 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.
但当我尝试升级时:
source /opt/python/run/venv/bin/activate pip install --upgrade pip
我得到一个权限错误:
Exception:
Traceback (most recent call last):
File "/opt/python/run/venv/lib64/python3.6/shutil.py", line 550, in move
os.rename(src, real_dst)
PermissionError: [Errno 13] Permission denied: '/opt/python/run/venv/bin/pip' -> '/tmp/pip-5y1ipdun-uninstall/opt/python/run/venv/bin/pip'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/opt/python/run/venv/local/lib/python3.6/site-packages/pip/basecommand.py", line 215, in main
status = self.run(options, args)
File "/opt/python/run/venv/local/lib/python3.6/site-packages/pip/commands/install.py", line 342, in run
prefix=options.prefix_path,
File "/opt/python/run/venv/local/lib/python3.6/site-packages/pip/req/req_set.py", line 778, in install
requirement.uninstall(auto_confirm=True)
File "/opt/python/run/venv/local/lib/python3.6/site-packages/pip/req/req_install.py", line 754, in uninstall
paths_to_remove.remove(auto_confirm)
File "/opt/python/run/venv/local/lib/python3.6/site-packages/pip/req/req_uninstall.py", line 115, in remove
renames(path, new_path)
File "/opt/python/run/venv/local/lib/python3.6/site-packages/pip/utils/__init__.py", line 267, in renames
shutil.move(old, new)
File "/opt/python/run/venv/lib64/python3.6/shutil.py", line 565, in move
os.unlink(src)
PermissionError: [Errno 13] Permission denied: '/opt/python/run/venv/bin/pip'
我有点卡住了,如果能给我一些建议来解决这个问题,我将非常感激。
发布于 2020-11-02 22:38:42
添加这些对我来说很管用
packages:
yum:
libcurl-devel: []
openssl-devel: []
发布于 2021-09-25 14:19:32
这是我开始工作时必须添加的内容:
packages:
yum:
...
libcurl-devel: []
发布于 2019-10-29 03:51:16
我通过在我的EBS config.yml文件中添加以下内容来解决这个问题:
packages:
yum:
libcurl-devel: []
libcurl4-openssl-dev: []
libssl-dev: []
python-pycurl: [7.19.3]
https://stackoverflow.com/questions/58593239
复制相似问题