【发布时间】:2018-11-27 15:06:30
【问题描述】:
我已经使用 virtualenvwrapper 命令mkvirtualenv -a <path to project> django_project 初始化了一个虚拟环境。
然后我用pip install django 安装了django。但是,如果我尝试使用django-admin,我会得到:
Traceback (most recent call last):
File "/usr/local/bin/django-admin", line 7, in <module>
from django.core.management import execute_from_command_line
ModuleNotFoundError: No module named 'django'
现在pip list给我
Package Version
---------- -------
Django 2.1.3
pip 18.1
pytz 2018.7
setuptools 40.6.2
wheel 0.32.3
python -m django --version给了
2.1.3
如果我运行 which python 它正确地指向我的 virtualenv,但是 which django-admin 给出:
/usr/local/bin/django-admin
我认为它应该指向我的 venv。为什么它会指向一个全局 django 管理员?如何修复它以使其适用于我未来的虚拟环境?
我在 MacOS 上使用 zsh 和 python 3.7.0。
谢谢!
编辑:命令中的错误
编辑:我意识到我没有系统范围的 Django 安装,所以我的 /usr/local/bin 中的 django-admin 和 django-admin.py 文件一定是早期安装的遗留物。因此我删除了它们并解决了问题。 venv 内没有任何进一步的django-admin 指向正确的 django 安装(在 venv 内)。
但是,我还是想知道,为什么命令一开始没有指向安装在venv中的Django?
【问题讨论】:
-
Jus 检查了我在 venv 中的
$PATH,它正确地指向了 venv 作为第一个目录。在env/bin中有一个 django-admin,shebang 行正确指向了 venv...
标签: django python-3.x virtualenvwrapper