当前位置: 首页 > 知识库问答 >
问题:

Pip安装在Virtualenv中工作,但*不*使用`-r requirements.txt`

梁豪
2023-03-14

我遇到了一个独特的版本,它是在这里和这里的答案中讨论的、有着良好记录的Virtualenv-Pip错误。在这些情况下,问题在于pip安装在全局文件夹中,在某些情况下是因为其中一个pip脚本中的shebang错误,在另一些情况下是因为bin/activate脚本中的第42行错误,但它始终是全局安装的。

我的问题是不同的:在我的虚拟环境pip安装

pip安装系统

然后查看/home/user/soft/project/venv/lib/python3.6/site-pack的内容,得到的结果是:

easy_install.py  
numpy  
numpy-1.16.1.dist-info  
pip  
pip-19.0.2.dist-info  
pkg_resources  
__pycache__  
scipy  
scipy-1.2.1.dist-info  
setuptools  
setuptools-40.8.0.dist-info  
wheel  
wheel-0.33.0.dist-info

但是,当在同一个虚拟环境中时,我运行pip安装-rrequirements.txt,其中requirements.txt要求安装Numpy、Cython、skLearning、matplotlib和Argparse,并输出:

Collecting Cython (from -r requirements.txt (line 1))                                                                                                                                                              
  Downloading https://files.pythonhosted.org/packages/16/98/49aa24054e99e9c7734e49d6996662f547e4e2faae0051d35fbbc461afa4/Cython-0.29.5-cp36-cp36m-manylinux1_x86_64.whl (2.1MB)                                    
    100% |████████████████████████████████| 2.1MB 23.6MB/s                                                                                                                                                         
Collecting numpy (from -r requirements.txt (line 2))                                                                                                                                                               
  Using cached https://files.pythonhosted.org/packages/f5/bf/4981bcbee43934f0adb8f764a1e70ab0ee5a448f6505bd04a87a2fda2a8b/numpy-1.16.1-cp36-cp36m-manylinux1_x86_64.whl                                            
Collecting sklearn (from -r requirements.txt (line 3))                                                                                                                                                             
  Downloading https://files.pythonhosted.org/packages/1e/7a/dbb3be0ce9bd5c8b7e3d87328e79063f8b263b2b1bfa4774cb1147bfcd3f/sklearn-0.0.tar.gz
Collecting matplotlib (from -r requirements.txt (line 4))
  Downloading https://files.pythonhosted.org/packages/71/07/16d781df15be30df4acfd536c479268f1208b2dfbc91e9ca5d92c9caf673/matplotlib-3.0.2-cp36-cp36m-manylinux1_x86_64.whl (12.9MB)
    100% |████████████████████████████████| 12.9MB 6.3MB/s
Collecting argparse (from -r requirements.txt (line 5))
  Downloading https://files.pythonhosted.org/packages/f2/94/3af39d34be01a24a6e65433d19e107099374224905f1e0cc6bbe1fd22a2f/argparse-1.4.0-py2.py3-none-any.whl

这导致本地站点包中没有新的添加内容。更重要的是,当我试图查看它们的安装位置时,在/usr/lib/python2.7/usr/local/lib/python2.7/usr/lib/python3/usr/lib/python3.6usr/lib/python3.7/.local/lib/python3.6/,或者~/.local/lib/python2.7/

为了验证这一点,当我运行:find/usr/-name“Cython”时,我得到一个空结果。

有什么建议吗?我可以编写一个bash脚本,直接调用pip install,但这看起来太草率了,我觉得应该在它变得更糟之前修复它。

注:

我的机器是在18.04.1上安装的,其中python3.6.7作为python3和python2.7.15作为python2作为机器默认安装,我安装了pip用于sudo-apt-install-python-pipsudo-apt-install-python3-pip,这个虚拟环境是用virtualenv-p python3-venv

我的requirements.txt

Cython
numpy
sklearn
matplotlib
torch>=0.4.1
torchvision>=0.2.1
argparse
quadprog

来自pip安装-r requirements.txt的完整输出


共有1个答案

郎雪风
2023-03-14

所以这是一个部分答案,但我至少解决了问题,即使我不完全理解为什么。当我改变时:

虚拟环境-p python3 venv

virtualenv-p/usr/lib/python3.6venv

pip安装-r requirements.txt工作正常,生成了正确的站点包。

同样,我不知道为什么这奏效了,但它确实奏效了。我只是用不同的python版本再次尝试,但运气不好,所以我不完全确定这是否是一个通用的修复。当我有更好的解释时,我会编辑这个答案。

 类似资料:
  • 我有一个烧瓶Python 3.7应用程序,我想运行在docker和库伯内特斯。 我有以下Docker文件 这个管用(用蟒蛇蛋) 但这不是(但我想坚持这一点) 运行此命令(构建容器后)给出以下错误 但是如上所述,这与以前的Docker文件非常配合。任何帮助都非常感谢。 附加说明: 构建Docker容器时没有错误 这是我的requirements.txt

  • 我安装twisted时遇到问题 PIP1.1 from/home/chris/GL/GLBackend/glenv/lib/python2.7/site-packages/pip-1.1-py2.7.egg(python 2.7) 创建虚拟环境 在glenv/bin/python2.7中创建新的python可执行文件也在glenv/bin/python中创建可执行文件安装分发...........

  • 我正在尝试在新项目文件夹中安装新的虚拟环境,但它没有在虚拟环境中安装。 下面是bash日志: 这里的问题是没有安装在中。我的问题是-这正常吗?我应该自己安装吗?如果是这样,我将如何做到这一点,以便当我运行类似于的东西时,安装在中? 顺便说一句,我想把所有东西都放在2.7里是我的计算机用户名。

  • 在尝试了我可以找到的关于这个问题的帖子中提到的所有内容后,我还没有安装psycopg2 警告:MANIFEST_MAKER:找不到标准文件“-C”

  • 问题内容: 我正在尝试在新的virtualenv中安装matplotlib。 当我做: 要么 我收到此错误: 任何人都知道发生了什么事吗? 任何帮助,不胜感激。 问题答案: 构建Matplotlib需要(和)这不是python库,因此无法处理(或)安装它。 您需要按照和(或与您的操作系统等效的其他方式)安装一些东西。 请参阅matplotlib的构建要求/说明。

  • 我知道在这方面也有类似的问题。例如,这一条:为Python安装pip、virtualenv和distribute的正确方法是什么? 我想安装这些模块按照我的学习Python的硬的方式教程:http://learnpythonthehardway.org/book/ex46.html 我设法(我想)通过使用sudoeasy_installpip安装pip,但是当我运行pydoc模块时,我看不到它。所