首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何仅从虚拟环境安装?

如何仅从虚拟环境安装?
EN

Stack Overflow用户
提问于 2013-12-10 03:21:48
回答 2查看 118关注 0票数 0

我对virtualenv很困惑。我一直在读一些文档和一些例子,但情况并没有好转。

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

代码语言:javascript
复制
$ virtualenv myapp_venv --no-site-package

我使用--no-site-packages是因为我想知道我的requirements.txt是否足以构建和运行我的代码。我不想依赖于在我的开发计算机上安装的任何东西。

然后,我尝试将依赖项安装到我的virtualenv中。

代码语言:javascript
复制
$ source myapp_venv/bin/activate
(myapp_venv) $ sudo pip install -r requirements.txt

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

代码语言:javascript
复制
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不会关注全球可用的软件包,而会关注这个项目的环境。

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

代码语言:javascript
复制
(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,应用程序就会正常运行。

如何将pip安装到virtualenv中?

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

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-12-10 03:25:11

跳过苏多,你就会没事的。数多正告诉我们要在全球安装。

票数 2
EN

Stack Overflow用户

发布于 2013-12-10 03:36:07

检查no-global-site-packages.txt在您的lib

如果no-global-site-packages.txt文件位于lib文件夹中,那么它将从您的virtualenv获取所有包,否则它将从全局接受。

而且,正如维萨姆所说,不要使用sudo。这是正确的。因为使用sudo,它将在全局安装。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20485418

复制
相关文章

相似问题

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