【问题标题】:Run Django 1.9 on Python 3.5 instead of 2.7在 Python 3.5 而不是 2.7 上运行 Django 1.9
【发布时间】:2015-09-30 16:29:40
【问题描述】:

我在 OSX 10.10 和 Django 1.9a 上运行了 Python 2.7 和 3.5——它同时支持两个 Python 版本。问题是我想在 Python 3.5 而不是 2.7 上运行 Django。在某些线程上,我发现了通过包含 Python 版本来运行它的建议,例如:python3.5 manage.py runserver,但我发现了这个错误:

File "manage.py", line 8, in <module> from django.core.management import execute_from_command_line ImportError: No module named 'django'

仅供参考,我在同一台机器上运行 Python3.5 没有问题。

我该如何解决这个问题?非常感谢!

【问题讨论】:

    标签: python django


    【解决方案1】:

    我们可以在你的 virtualenv 命令中指定 Python 版本。

    virtualenv dev_FirstDj_py35 --python=python3.5
    

    输出

    使用解释器 /Library/Frameworks/Python.framework/Versions/3.5/bin/python3.5 运行 virtualenv 使用基本前缀'/Library/Frameworks/Python.framework/Versions/3.5' /Users/raja/test_first_py35/bin/python3.5 中的新 python 可执行文件 还在 /Users/raja/test_first_py35/bin/python 中创建可执行文件 安装 setuptools、pip、wheel...完成。

    【讨论】:

      【解决方案2】:

      Virtualenv 是你的朋友。当我开始使用它时,我的生活变得轻松多了。您可以创建一个 virtualenv 以使用特定版本的 Python,然后设置您的 requirements.txt 文件以使用 pip 安装您需要的所有包。

      【讨论】:

        【解决方案3】:

        没有 virtualenv 或类似的问题,您的问题有一个简单的解决方案。 我使用随 Homebrew 安装的 Python 2.7.12 和 3.5.2。

        $ which python3
        /usr/local/bin/python3
        

        为 Python 3 安装 Django:

        pip3 install django
        

        为 Python 3 创建 Django 项目:

        python3 /usr/local/lib/python3.5/site-packages/django/bin/django-admin.py startproject mysite
        

        那么就可以这样执行所有命令了:

        python3 manage.py shell
        python3 manage.py startapp page
        python3 manage.py runserver
        ...
        

        或者您可以编辑 manage.py 文件:

        #!/usr/bin/env python <— instead this line (first)
        #!/usr/local/bin/python3 <— must be this one
        

        然后您可以执行所有标准命令,例如:

        ./manage.py shell
        ./manage.py startapp page
        ./manage.py runserver
        ...
        

        【讨论】:

          【解决方案4】:

          注意:我写这篇文章的时候,Django 1.9 还没有发布,而且 Django 1.8 还不支持 Python 3.5。此后,Django 1.9 已经发布,Django 1.8.6+ 支持 Python 3.5。因此,您可以将最新的 1.8.X 或 1.9.X 与 Python 3.5 一起使用。如果您需要长期支持,请选择 Django 1.8.X,如果您需要更新的功能,请选择 1.9.X。

          Django docs 建议您为要使用的 Python 版本创建一个虚拟环境,然后使用 pip 安装 Django。

          在 OS X 上,pyvenv 与 Python 3 一起安装。

          pyvenv djangodev # create the virtual env.  
          source djangodev/bin/activate # activate it
          pip install django
          

          这将安装 Django 的最新稳定版本,目前为 1.8.4。 Django 1.9 alpha 刚刚发布。如果您是 Django 新手,那么从 Python 3.4 和 Django 1.8 开始可能会更顺畅。以后可以直接升级。如果你确定要安装 1.9 alpha,你可以使用 pip 和

          安装它
          pip install django==1.9a1
          

          【讨论】:

          • 我确实安装了虚拟环境并将其用于这个特定项目,但不知何故,这个 Django 版本在我的 Python 2.7 上运行,而不是安装的最新版本;蟒蛇 3.5。只是想知道如何让它在 Python 3.5 上运行,这是通过 run: python3.5 manage.py runserver 命令无法实现的。
          • 如果你激活了虚拟环境,那么报错No module named 'django'表示要么django没有安装在虚拟环境中,要么你为不同版本的python创建了虚拟环境。跨度>
          • 感谢您发现问题。到目前为止,我没有在正确的环境中安装 Django。最后,我按照本教程进行操作:godjango.com/…,它解决了我的问题。
          【解决方案5】:

          您首先必须安装 Django for 3.5,它与 Django for 2.7 分开安装。

          如果您使用 pip,请务必使用 pip3。否则,请确保使用python3.5 运行setup.py

          【讨论】:

            猜你喜欢
            • 2018-04-04
            • 2017-02-26
            • 2016-11-26
            • 2015-01-18
            • 1970-01-01
            • 2014-05-26
            • 2017-09-18
            • 2017-05-01
            • 2016-06-07
            相关资源
            最近更新 更多