繁体   English   中英

如何从virtualenv安装?

[英]How to install from virtualenv only?

我对virtualenv感到困惑。 我一直在阅读文档和尝试示例,但它并没有变得更好。

我用以下方式创建了一个virtualenv

$ virtualenv myapp_venv --no-site-package

我使用了--no-site-packages因为我想知道我的requirements.txt足以构建和运行我的代码。 我不想依赖我的开发机器上可能安装的任何东西。

然后我尝试在我的virtualenv安装依赖项:

$ source myapp_venv/bin/activate
(myapp_venv) $ sudo pip install -r requirements.txt

在这一点上,我收到了许多这样的消息:

Requirement already satisfied (use --upgrade to upgrade): Flask==0.10.1 in /usr/local/lib/python2.7/dist-packages (from -r requirements.txt (line 1))

这让我感到惊讶,因为我认为virtualenv不会关注全球可用的软件包,而是关注这个项目的环境。

当我继续尝试运行该应用程序时:

(myapp_venv) $ python run.py
Traceback (most recent call last):
  File "run.py", line 1, in <module>
    from app import app
  File "/home/eric/code/python/tournament/app/__init__.py", line 1, in <module>
    from flask import Flask
ImportError: No module named flask

但如果我停用virtualenv ,应用程序运行就好了。

我如何git pip将软件包安装到virtualenv

对于上下文,我对Java / Maven有着专业的经验。 我有一些Python语言经验,但Python生态系统对我来说仍然是新的。

跳过sudo,你会没事的。 Sudo告诉全球安装。

检查lib no-global-site-packages.txt

如果no-global-site-packages.txt文件在lib文件夹中,那么它将从你的virtualenv获取所有包。它将采用全局。

另外,正如wissam所说,不要使用sudo 它是正确的。 因为使用sudo ,它将全局安装。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM