【问题标题】:Unable to import django, conflicting python paths?无法导入 django,python 路径冲突?
【发布时间】:2014-05-06 23:06:59
【问题描述】:

我使用 pip 安装了 django,但是在 python 控制台中输入 import django 会产生以下错误:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: No module named django

当我运行 pip install django 时,我得到以下信息:

Requirement already satisfied (use --upgrade to upgrade): django in /usr/local/lib/python2.7/site-packages
Cleaning up...

但是在终端中运行 which python 会产生以下结果:

/usr/bin/python

我想知道 django 是否没有导入,因为我使用自制软件安装的版本与 mac 预安装的版本冲突。

我应该提一下,当在目录 /usr/local/lib/python2.7/site-packages 中时,我可以在控制台中导入 django

感谢任何帮助。

【问题讨论】:

    标签: python django macos


    【解决方案1】:

    我无法修复我的 OSX 默认版本 (2.7.10) 和我的 pip 安装版本 (3.8) 之间的 $PATH 冲突。相反,我在调用django-admin时手动指定了整个路径:

    在控制台中转到您的项目文件夹并输入(首先检查您的版本)。

    your_proyect_folder$ python3 /Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/django/bin/django-admin.py startproject your_folder_name
    

    【讨论】:

      【解决方案2】:

      你应该导入django,而不是Django,看情况。

      演示:

      $ pip install django
      Requirement already satisfied (use --upgrade to upgrade): django in ...
      Cleaning up...
      $ python
      Python 2.7.5 (default, Aug 25 2013, 00:04:04) 
      [GCC 4.2.1 Compatible Apple LLVM 5.0 (clang-500.0.68)] on darwin
      Type "help", "copyright", "credits" or "license" for more information.
      >>> import Django
      Traceback (most recent call last):
        File "<stdin>", line 1, in <module>
      ImportError: No module named Django
      >>> import django
      >>>
      

      【讨论】:

      • 我重新运行了 pip install django 并遇到了同样的问题。此外,import django 的工作方式与您的演示一样,但仅在 /usr/local/lib/python2.7/site-packages 中时使用
      • @user2475612 现在是另一个问题。看起来是PYTHONPATH 问题,见stackoverflow.com/questions/9462212/…
      猜你喜欢
      • 2021-03-09
      • 2018-11-26
      • 1970-01-01
      • 2013-06-15
      • 1970-01-01
      • 2019-04-09
      • 1970-01-01
      • 1970-01-01
      • 2021-02-04
      相关资源
      最近更新 更多