python - Django 和 'virtualenv' - 正确的项目结构

标签 python django virtualenv

我在设置本地开发项目结构时遇到了难题。这是我的设置:

  • python 2.7
  • Django 1.9
  • Mac OSX El Capitan 10.11
  • MySQL 5.7

我犯了一个“错误”,即在全局而不是在虚拟环境中设置我的项目(使用“pip”在 /> 中安装所有内容)。看完this article我仍然没有得到所有的步骤。 这是否正确:

  1. 我安装了全局 python('/>' 中的 pip、virtualenv)
  2. 然后我转到我的项目所在的位置,例如 /users/user/documents/projects/project1从内部 'project1' 我使用 'virtualenv ' 为这个项目创建一个虚拟环境(这会在 /project1/ 文件夹中创建一个 /virtual env/ 文件夹)
  3. 激活这个虚拟环境并pip install django
  4. 然后在新创建的 /virtual env/ 文件夹中 startproject/virtual env 中创建另一个 /project1/ 文件夹/文件夹
  5. 在虚拟环境在当前 shell session 中仍处于激活状态的情况下,我继续创建我的脚本、站点和应用程序文件

广告 2.virtualenv 文件夹应该位于主“project1”文件夹内还是应该包含它?

广告 4.这是否正确,或者我可以在不先激活虚拟环境的情况下执行此操作吗?

我的结构目前看起来像这样(从根开始:/users/myUser/documents/projects/):

/project1/
    /website1/
        /static/
        /templates/
        __init.py__
        settings.py
        urls.py
        views.py
        wsgi.py

最佳答案

常见的解决方案是将虚拟环境和项目保存在单独的文件夹中,例如/users/myUser/.venvs 用于虚拟环境,/users/myUser/documents/projects/ 用于项目。在其他方面,您自己做得非常好。所以:

  1. 您需要安装全局 Python 和 virtualenv。
  2. 为虚拟环境创建目录,例如运行 mkdir/users/myUser/.venvs
  3. 为您的项目创建虚拟环境,virtualenv/users/myUser/.venvs/project1_venv
  4. 激活当前 shell session 的环境 /users/myUser/.venvs/project1_venv/bin/activate
  5. 在此环境中安装 django 和其他任何东西 pip install django,或者更好地使用 requirements.txt 文件来跟踪所有项目依赖项。
  6. 停用环境,运行deactivate

现在当你想使用创建的虚拟环境运行你的项目时,在你的控制台窗口中运行 /users/myUser/.venvs/project1_venv/bin/activate 然后 python/用户/myUser/documents/projects/project1/manage.py runserver。您可以从任何目录激活 venv,它针对当前 shell 窗口激活,激活后在该窗口中运行的任何 python ... 都将使用此虚拟环境。激活脚本以某种方式修改环境变量,以便使用来自 venv 的解释器和库而不是全局的。 (尽管也有使用全局选项的选项。)

关于python - Django 和 'virtualenv' - 正确的项目结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35936425/

相关文章:

python - 如何将参数传递给 pynput 中热键调用的函数?

Django REST Framework - 嵌套序列化程序验证?

Django Rest Framework Many=False 产生错误

Python3 virtualenv 安装失败 : No module named 'virtualenv.seed.via_app_data'

python - 在这种情况下,如何平衡 "Pythonic"和 "convenient"?

python - 如何在 Python 中创建新的自定义记录器函数

php - 转储到 JSON 文件在类/函数中无法正常工作

django - 如何在ubuntu上为django restful服务配置apache2

python - 创建 virtualenv 时出现错误。该错误说明了有关 python3 的内容

python - 使用 virtualenv 和 pip 为 Python 2.7 安装 ipdb 时出错