首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在EC2上安装虚拟环境中的pip安装安装时缺少requirements.txt文件中的包

在EC2上安装虚拟环境中的pip安装安装时缺少requirements.txt文件中的包
EN

Stack Overflow用户
提问于 2019-11-21 23:59:53
回答 1查看 1.1K关注 0票数 1

我正在EC2实例(2018-03)的虚拟环境中安装各种软件包。Pip成功地安装了一些包,但不是全部。我在以下需求文件上使用pip install --force-reinstall -r requirements.txt,该文件是在Macos上使用Python3.7.4创建的具有工作实例的系统上创建的:

代码语言:javascript
复制
alembic==1.1.0
bcrypt==3.1.7
boto3==1.9.156
botocore==1.12.249
certifi==2019.9.11
cffi==1.12.3
chardet==3.0.4
Click==7.0
coverage==4.5.4
docutils==0.15.2
Flask==1.0.2
Flask-Bcrypt==0.7.1
Flask-Login==0.4.1
Flask-Migrate==2.5.2
Flask-Script==2.0.6
Flask-Session==0.3.1
Flask-SQLAlchemy==2.4.0
Flask-WTF==0.14.2
idna==2.8
itsdangerous==1.1.0
Jinja2==2.10.1
jmespath==0.9.4
lxml==4.3.2
Mako==1.1.0
MarkupSafe==1.1.1
numpy==1.16.2
pandas==0.24.2
patsy==0.5.1
psycopg2==2.8.3
pycparser==2.19
python-dateutil==2.8.0
python-editor==1.0.4
pytz==2019.2
requests==2.21.0
s3transfer==0.2.1
scikit-learn==0.20.3
scipy==1.2.1
six==1.12.0
SQLAlchemy==1.3.8
statsmodels==0.9.0
trimesh==3.1.11
urllib3==1.24.3
Werkzeug==0.15.5
WTForms==2.2.1

pip给了我以下信息:

成功安装了Click-7.0瓶-1.0.2瓶-Bcrypt-0.7.1瓶-登录-0.4.1瓶-迁移-2.5.2瓶-SQLAlchemy-2.4.0瓶-脚本-2.0.6瓶-会话-0.3.1瓶-WTF-0.14.2 Jinja2-2.10.1 Mako-1.1.0 MarkupSafe-1.1.1 SQLAlchemy-1.3.8 WTForms-2.2.1 Werkzeug-0.15.5 alembic-1.1.0 bcrypt-3.1.7 boto3-1.9.156 botocore-1.12.249证书-2019.9.11 cffi-1.12.3 chardet-3.0.4覆盖率-4.5.4 docutils-0.15.2 idna-2.8它的危险-1.1.0 jmespath-0.9.4 lxml-4.3.2 numpy-1.16.2熊猫-0.24.2 patsy-0.5.1心理copg2-2.8.3-2.19 python-dateutil-2.8.0 python-编辑器-1.0.4 pytz-2019.2请求-2.21.0 s3传输-0.2.1 scikit学习-0.20.3 scikit 1.2.1 6-1.12.0状态模型-0.9.0 trimesh 3.1.11 urllib3-1.24.3

但是,当我执行pip list时,我只看到安装了以下软件包。请注意,例如,coveragepsycopg2被列为已成功安装,但不要显示。因此,一个快速的python -c "import coverage"将失败。

代码语言:javascript
复制
Package          Version  
---------------- ---------
alembic          1.1.0    
boto3            1.9.156  
botocore         1.12.249 
certifi          2019.9.11
chardet          3.0.4    
Click            7.0      
docutils         0.15.2   
Flask            1.0.2    
Flask-Bcrypt     0.7.1    
Flask-Login      0.4.1    
Flask-Migrate    2.5.2    
Flask-Script     2.0.6    
Flask-Session    0.3.1    
Flask-SQLAlchemy 2.4.0    
Flask-WTF        0.14.2   
idna             2.8      
itsdangerous     1.1.0    
Jinja2           2.10.1   
jmespath         0.9.4    
Mako             1.1.0    
patsy            0.5.1    
pip              19.3.1   
pycparser        2.19     
python-dateutil  2.8.0    
python-editor    1.0.4    
pytz             2019.2   
requests         2.21.0   
s3transfer       0.2.1    
setuptools       41.6.0   
six              1.12.0   
trimesh          3.1.11   
urllib3          1.24.3   
Werkzeug         0.15.5   
wheel            0.33.6   
WTForms          2.2.1

我的问题是:

除了我已经尝试过的pip选项之外,还有什么方法可以解决

  1. 的问题吗?
  2. ,我的问题是,我可以在EC2上获得的最新支持包是3.6.8,但我的requirements.txt文件是在一个3.7.4系统上创建的。(是的,我知道,下次我会更聪明,从一开始就用码头。)
EN

回答 1

Stack Overflow用户

发布于 2019-11-22 22:08:02

在经历了大量的绞尽脑汁和差一点做码头训练营之后,我决定回到另一轮,并发现了潜在的问题。在我的虚拟环境中,我注意到pip list只列出了$MYENV/lib/Python3.6/data/dist-packages中列出的包,而违规的包都位于$MYENV/lib64/Python3.6/data/dist-packages中。这导致了一些额外的搜索和this response,这建议将dist-包的lib64版本与lib版本进行符号链接,这就成功了,解决了我的问题。我使用的是pip版本19.3.1,参考的文章是两年多前的,所以我肯定会和一些人交谈。

然而,对于那些想要快速解决方案的人来说,下面是一些步骤。

  1. Fresh虚拟环境:在开始安装任何软件包之前,按照通常的would.
  2. Symlink设置一个新的虚拟环境,:执行您的符号链接。通常情况下,这将类似于:

代码语言:javascript
复制
ln -s $YOURENV/lib/Python3.x/data/dist-packages $YOURENV/lib64/Python3.x/data/dist-packages

前面的

  1. Go和:不,你可以像平时一样pip install -r requirements.txt。使用pip list进行二次检查,您应该会看到列出的所有包.
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58985551

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档