ImportError: No module named virtualenv

问题描述 投票:0回答:11

我在 windows7 上使用 Django 1.3.7 和 python 2.7.6 我在这行代码中执行 manage.py 时出错

import shutil, sys, virtualenv, subprocess

amd 运行它,我得到了这个错误

C:\Django-Proj\>python manage.py update_ve
Traceback (most recent call last):
  File "manage.py", line 4, in <module>
    import shutil, sys, virtualenv, subprocess
ImportError: No module named virtualenv

有人知道我的案子吗?

python django windows-7
11个回答
121
投票

使用

pip install virtualenv
安装virtualenv。 如果您已经安装了它,请尝试通过使用
pip uninstall virtualenv
将其删除然后重新安装来重新安装它。 祝你好运。


22
投票

我必须安装带有 -H 标志的 virtualenv 以将 HOME 变量设置为目标用户的主目录。

sudo -H pip install virtualenv


13
投票

使用 pip3 而不是 pip。我有同样的问题,pip3 为我工作。

$ pip3 install virtualenv
$ virtualenv venv --python=python3

12
投票

我认为问题是你需要

sudo
全局安装virtualenv.

> pip install virtualenv
Could not find an activated virtualenv (required).
> sudo pip install virtualenv
Downloading/unpacking virtualenv
...

但这会创建只能由 root 读取的文件(取决于 umask)。 在这种情况下,卸载/重新安装可能并不总是有帮助。

您可以使用

ls -la /usr/local/lib/python2.7/dist-packages/virtualenv.py
进行检查(将 2.7 替换为您拥有或正在定位的任何版本)。

我的解决方案很简单:

sudo chmod -R o+rX /usr/local/lib/python2.7

11
投票

试试

python3 -m pip uninstall virtualenv

python3 -m pip install virtualenv

5
投票

我刚遇到同样的问题。我必须

pip uninstall virtualenv
作为具有管理员权限的用户,然后
pip install virtualenv
作为普通用户。如果您在管理员权限下安装 virtualenv,我认为这是某种权限问题。


0
投票
>virtualenv
ImportError: No module named 'virtualenv'
>pip uninstall virtualenv
PermissionError: [Errno 13] Permission denied:

>sudo pip uninstall virtualenv
Successfully uninstalled virtualenv-15.1.0
>pip install virtualenv
Collecting virtualenv

>virtualenv
Options:

宾果!


0
投票

当我通过 pycharm 创建我的 virtualenv 并使用 pycharm 安装要求时,我遇到了同样的问题。 经过反复试验,我发现 virtualenv 没有考虑安装要求。

解决方案是在激活 virtualenv 后重新安装所有要求:

venv\scripts 激活

python -m pip install -r YourRequirements.txt

下次我最好直接用命令行创建我的 virtualenv


0
投票

使用 ansible pip 模块在我的本地主机上自动安装一些 pip 时出现此错误。

fatal: [localhost]: FAILED! => {"changed": false, "cmd": ["/opt/bin/virtualenv", "--system-site-packages", "-p/usr/bin/python3", "/opt/venv/myenv"], "msg": "\n:stderr: /usr/bin/python3: No module named  virtualenv\n"}

卸载 virtualenv

python3 -m pip uninstall virtualenv
确实显示
virtualenv
被安装在这里
/home/ubuntu/.local/bin/virtualenv
.

在ansible任务中指定

virtualenv_command

- name: install requirements file
  pip:
    virtualenv_command: "/home/{{whoami.stdout}}/.local/bin/virtualenv"
    virtualenv: "/home/{{whoami.stdout}}/.venv/{{item.env.virtualenv}}"
    requirements: "/home/{{whoami.stdout}}/git/{{item.env.requirements_txt}}"
    virtualenv_site_packages: yes
  when: req_stat.stat.exists

0
投票

对于 mac os,问题出在 virtualenv 上。这是因为文件夹 virtualenv 不存在。

这很好用

python3 -m venv env


0
投票

Poetry默认想在venv中,所以我在docker中使用了venv。使用该设置多个月后,我随机收到错误消息。

如果您是这种情况,请不要在 docker 中使用 venv。您可以通过以下方式关闭诗歌的 venv 要求:

/usr/bin/poetry config virtualenvs.create false
.

也可以通过

poetry export -f requirements.txt --output requirements.txt
导出诗歌到requirements.txt。

© www.soinside.com 2019 - 2024. All rights reserved.