【问题标题】:Where is Pip3 Installing Modules?Pip3 安装模块在哪里?
【发布时间】:2015-11-25 00:15:06
【问题描述】:
  • Ubuntu 15.10
  • Python 3.4.3+
  • Django 1.8.7

当我在 python3 解释器中尝试import django 时,它显示ImportError: No module named 'django'。我知道安装了 Django 1.8.7,因为我可以通过在终端命令行中执行 django-admin --version 来获取版本号。

当我在 Django 项目目录中尝试 python3 manage.py runserver 时,我收到此错误:

Traceback (most recent call last):
  File "manage.py", line 8, in <module>
    from django.core.management import execute_from_command_line
ImportError: No module named 'django'

再说一遍(如预期的那样),它不在 Python 可以找到它的路径中。

我查看了/usr/local/lib/python3.4/dist-packages,但它是一个空目录。

我做了一个whereis django 和whereis Django,这只是给了我一个分别带有django: 或Django: 的行,并且没有路径列表。

我尝试用 Google 搜索 how to find path to Django,但没有发现任何有用的信息。

我找到并检查了 django-admin 文件本身的代码,但它没有任何指示 Django 安装到的位置。奇怪的是,python 文件导入了 django 模块并且它可以工作,即使解释器和 Django 项目文件看不到 django 模块。所以它在 python 路径上,但它也不是?!?我不知道,也找不到。

在以前的 Ubuntu(或任何其他操作系统)上,我从来没有遇到过这样的问题。有没有人知道我如何找到 Django 的安装位置?实际上,我找不到通过 pip3 安装的任何模块。我已经尝试了一个多小时来解决这个问题,我感到非常困惑和沮丧。

【问题讨论】:

    标签: python django ubuntu pip ubuntu-15.10


    【解决方案1】:

    通常在 python3 dist-packages 上安装 pip 3

    您始终可以将 pip 用于:

    python3 -m pip install package
    

    检查您是否在安装另一个 python3 时遇到问题

    ls /usr/local/lib | grep python
    

    但不尝试这种头痛的简单方法是使用virtual environments

    【讨论】:

    • 好主意。它表明我在系统上有 Python3.4 和 3.5。我不知道 Ubuntu 15.10 上面有 3.4 和 3.5。所以我尝试以python3.5 而不是python3 启动python 解释器,然后Django 工作了!所以谢谢!我不会猜到 Ubuntu 会安装 2 个版本的 Python 3,然后默认一个是旧版本,而 pip3 默认安装到较新版本。他们以前没有这样做过。
    【解决方案2】:

    我想你已经在虚拟环境之外安装了 django。 通过

    下载虚拟环境
    pip install virtualenv
    virtualenv your_env
    

    激活虚拟环境。

    source your_env/bin/activate
    

    那么, 在您的虚拟环境中安装 django。

    【讨论】:

    • 这行得通,谢谢。虽然我不想使用 virtualenv,但我希望它是系统范围的。
    • 与全局可访问的安装相比,虚拟环境稍微增加了一些心理和流程开销,但提供了最大的灵活性。
    猜你喜欢
    • 2018-03-28
    • 2018-06-16
    • 1970-01-01
    • 2019-07-16
    • 2021-05-31
    • 1970-01-01
    • 2014-08-25
    • 1970-01-01
    • 2011-03-31
    相关资源
    最近更新 更多