我想我正在安装Django,但它似乎并不存在

时间:2018-02-01 14:00:32

标签: python django python-3.x pip python-venv

神秘。我可能无法理解virtualenv足以使用它。 我创建了我认为的虚拟环境:

   pip3 -m venv myenv

   pip3 install --ignore-installed django~=2.0.0
   Collecting django~=2.0.0
     Using cached Django-2.0.1-py3-none-any.whl
   Collecting pytz (from django~=2.0.0)
     Using cached pytz-2017.3-py2.py3-none-any.whl
   Installing collected packages: pytz, django
   Successfully installed django-2.0.1 pytz-2017.3
   001b639f6f87:myenv admin$ ls
   bin  include  lib  pyvenv.cfg

那么,Django在哪里?

实际上,这可能不是一个虚拟问题。运行相同 命令在非venv目录中具有相同的结果:没有Django。

所以,我想,也许我的Django 2.0存在问题 浑然不觉。让我们试试1.11:

001b639f6f87:django-test admin$ pip3 install --ignore-installed
django~=1.11.0
Collecting django~=1.11.0
  Downloading Django-1.11.9-py2.py3-none-any.whl (6.9MB)
    100%
|███████████&
#9608;██████████&#
9608;█████████| 7.0MB 
108kB/s 
Collecting pytz (from django~=1.11.0)
  Using cached pytz-2017.3-py2.py3-none-any.whl
Installing collected packages: pytz, django
Successfully installed django-2.0.1 pytz-2017.3
001b639f6f87:django-test admin$ ls
001b639f6f87:django-test admin$ ls -l
001b639f6f87:django-test admin$ 

显然,对某些事情不清楚,但不确定问题所在。

2 个答案:

答案 0 :(得分:0)

Django应该安装在/path/to/your/venv/lib/python3.x/site-packages/

您可以通过导入django然后检查django.__file__

在Python shell中进行检查
>>> import django
>>> django.__file__
'/path/to/your/venv/lib/python3.x/site-packages/django/__init__.py'

请注意,安装Django的位置并不重要。关键是在激活虚拟环境后import django可以正常工作。

答案 1 :(得分:0)

实际上,安装Django的地方确实很重要。强烈建议使用虚拟环境。这样做:

如果您没有安装'virtualenv',请先安装它。

sudo pip3 install virtualenv
  1. 如果您没有,请安装virtualenv。
  2. virtualenv venv -p python3
  3. 现在您已经创建了一个名为'venv'的虚拟环境。
  4. source venv/bin/activate
  5. 现在。你会在终端上看到一个'venv'标签。这意味着您已经成功创建了虚拟环境,并且您正在使用它。之后,您安装的每个软件包都将位于/ venv文件夹中。
  6. 使用虚拟环境有利于隔离,您的项目将是干净的,您将能够跟踪您在项目中使用的库。如果你决定销毁你的项目,你所要做的就是删除venv文件夹并且它都是干净的。

    1. pip3 freeze命令显示虚拟环境中已安装的库。最初它会是空的。
    2. pip3 install django
    3. 这将安装django,如果你在第6步运行命令,你会在那里看到django。