Ubuntu 上的 Django、Pyenv 和 Git 文件结构

Django, Pyenv and Git file structure on Ubuntu

我正在使用 Ubuntu 14.4 LTS 实例在 ec2 上设置一个 django 项目。我想使用 python 3 和 django 编写我的代码。我被告知最好的方法是使用 virtualenv。下列的 https://robinwinslow.co.uk/2013/12/26/python-3-4-virtual-environment/

我试过了:

 ~$ pyvenv-3.4 djenv

这似乎是在创建一个 virtualenv(请查看屏幕截图)。现在我有两个问题:

1) 我应该把我的django 项目放在什么文件夹。 - 我在 djenv 文件夹中思考。换句话说,我会 运行:

/home/ubuntu/djenv$ django-admin.py startproject testproject.

2) 初始化一个 git 存储库。我假设我会把它放在同一个位置,即

/home/ubuntu/djenv$ git init

来自

这看起来是否正确,或者有更好的方法吗?

您的项目源代码应该与文件系统中的虚拟环境完全分开。如果它们像您建议的那样位于同一个地方,那么您最终将不必要地将库检入您的 git 存储库,这将占用额外的 space 最终导致问题。

激活虚拟环境后,您可以 运行 Python 并使用其中的所有库。您不需要在文件系统中进行任何连接。

您应该在 git 存储库中的某处存储一个 PIP 文件,该文件描述了如何将相关依赖项安装到您的 virtualenv 中,以便您可以在另一台机器上重新创建它。

在我的机器上,我的项目在 /home/me/projects/«project» 中,我的 virtualenvs 在 /home/me/envs/«envname» 中。我使用 virtualenvwrapper 让事情变得简单。

创建环境

$ mkvirtualenv test
New python executable in test/bin/python
Installing Setuptools......done.
Installing Pip.........done.

激活它

$ workon test

Python 现在指的是我环境中的那个。它有自己的网站包等

$ which python
/Users/joe/Envs/test/bin/python

如果我们 运行 它并查看路径,它们指向 virtualenv。这是它寻找包的地方(为简单起见,从我的路径中删除了很多)。

$ python
Python 2.7.5 (default, Mar  9 2014, 22:15:05)
[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 sys
>>> sys.path
['', '/Users/joe/Envs/test/lib/python27.zip', '/Users/joe/Envs/test/lib/python2.7', '/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7', '/Users/joe/Envs/test/lib/python2.7/site-packages']
>>>