我认为您对 anaconda 实际上是什么以及虚拟环境是什么感到有些困惑。归根结底,它们都只是 python 安装,(希望)包括运行代码所需的二进制文件。
您的问题的答案是为您的项目使用虚拟环境,而不是 anaconda,然后将您的依赖项存储在 requirements.txt 文件中,以便拥有您的项目基本代码的任何人都可以将项目所需的确切依赖项安装到他们的虚拟环境中.
那么区别是什么呢?Anaconda 本质上是 python,带有一堆用于数据分析的预安装库。这意味着您作为程序员不必担心安装 matplotlib、pandas 或大量其他库。它还包括一个执行 python 代码的二进制文件。
虚拟环境本质上是一个准系统的 Python 环境。它将运行 python 代码所需的二进制文件复制到您创建虚拟环境的任何位置。我通常在我的本地目录中创建一个环境,如下所示(python 3.6+):
python -m venv .venv
这将在我的当前目录中的隐藏目录中创建一个虚拟环境.venv
。在使用source
. 例如
source .venv/bin/activate
您会注意到,如果您运行which python
,它现在将指向您的 shell,而不是之前的默认 python .. 例如,
$ which python
/Users/you/path/to/.venv
现在您将根据需要安装您的依赖项.. 即
pip install <library>
甚至更好
pip install requirements.txt