就在我认为我开始使用django的手柄时,我开始阅读两个django的勺子,他们建议使用cookieCutter而不是常规的django-admin startproject。两个勺子的作者在Virtualenv上很大。我一直在使用Anaconda,因为到处都说它比Virtualenv更好。我很想摆脱Anaconda,只使用Virtualenv尝试使它起作用,但想我首先要问。
任何人都知道如何让CookieCutter与Anaconda一起工作?
我认为您对Anaconda的实际是什么以及虚拟环境有些困惑。归根结底,它们都是Python的安装,这些装置(希望)包括运行代码所需的二进制文件。
您问题的答案是使用虚拟环境,而不是您的项目的anaconda,然后将您的依赖项存储在需求.txt文件中,以便任何具有项目基本代码的人都可以安装项目所需的确切依赖项他们的虚拟环境。
那么,有什么区别?Anaconda本质上是Python,其中一堆预装的库旨在用于数据分析。这意味着您作为程序员不必担心安装Matplotlib,Pandas或其他大量库。它还包括执行Python代码的二进制文件。
虚拟环境本质上是准骨python环境。从字面上看,它将运行Python代码运行的二进制文件复制到创建虚拟环境的任何地方。我通常会在这样的本地目录中创建一个环境(Python 3.6 ):
python -m venv .venv
将在我的当前目录中创建一个虚拟环境,在隐藏目录.venv
中。在使用source
设置为默认的解释器后,我可以根据需要安装对此环境的依赖关系。例如
source .venv/bin/activate
您会注意到,如果您运行which python
,现在它将指向您的外壳,而不是默认的python之前。例如,
$ which python
/Users/you/path/to/.venv
现在您将根据需要安装您的下降。
pip install <library>
甚至更好的
pip install requirements.txt