如何设置默认解释器并保持秩序?

How to set default interpreter and keep things in order?

我被要求为 CS 课程安装 anaconda,并使用了 spyder 和 Rstudio。 然后,对于不同的 class,我使用了 pycharm。 当我在命令行输入 "python -V" 时,我得到:

Python 3.6.1 :: 蟒蛇 4.4.0 (x86_64)

而且我不知道为什么它与我安装的 python 版本与 Anaconda 相关(为什么不是 pycharm?)。我知道 OS 运行 python 2.7(我不应该得到它吗?当我输入 python3 -V 时得到我拥有的 python 3 的哪个版本? ) 并且当我使用 Pycharm 或 Spyder 之类的东西时,我可以从我安装的版本中选择我想要的版本并在程序中使用它,而不是在终端中使用它。

我只想让一切都井井有条,尽在掌握。我不认为我理解 Anaconda 到底是什么(对我来说就像是一个包含更多程序的程序......)。我如何让 anaconda 独享? 1313

此外,即使我使用 pycharm 时我使用的是 python 3.5 和 anaconda 3.6,我通过终端安装的软件包是否应该在 pycharm 和 spyder/anaconda 上工作?

我想我需要定义和帮助来让我的头脑和计算机井井有条。

Pycharm只是一个帮你写代码的应用。 Pycharm本身没有运行python代码。这就是为什么在 PyCharm 中,您需要为项目设置 interpreter,它可以是任何 python 二进制文件。在 PyCharm 中,转到 Preferences > Project > Project Interpreter 以查看在何处设置用于给定项目的 python 环境。这可能指向 machine 上的任何 python 安装,无论是位于 /usr/bin/python 的 python 2.7 还是项目目录中的虚拟环境。

达到 "keep things in order" 的行业标准方法是使用所谓的 虚拟环境 。参见此处:https://docs.python.org/3/library/venv.html。虚拟环境实际上只是 python 环境(二进制文件和所有内容)的副本,因此无论您指定什么目录。这允许您根据项目中的需要配置环境,而不会干扰您可能拥有的其他项目。例如,假设项目 A 需要 django 1.9.2,但项目 b 需要 1.5.3。通过为每个项目创建一个虚拟环境,依赖关系就不会发生冲突。

因为你有 python3.6,我建议你在终端 window 中转到你的项目目录。 运行 python -m venv .venv 创建一个隐藏目录,其中包含任何 3.6 python 安装的本地 python 环境。然后,您可以将项目解释设置为使用该环境。在命令行上连接到它,运行 source .venv/bin/activate 从你创建虚拟环境的地方。 运行 which python 再次看到 python 现在正在引用您的虚拟环境:)

如果您使用的是 mac(我相信您来自您所说的 python2.7),可能发生的情况是您的 anaconda 安装程序将 Python bin PATH 环境变量上的目录。输入 which python 以查看 python 别名所引用的内容。如果需要,可以通过编辑 ~/.bash_profile 文件撤消此操作。

您对 anaconda 的看法或多或少是正确的。它本身是 python 的另一个发行版,包含大量常见的 libraries/dependencies ,可以让生活更轻松。对于大量数据分析,您可能甚至不需要在下载 anaconda 后使用 pip 安装另一个依赖项。

我怀疑一开始这不会有太大帮助,因为要学的东西很多,但希望这能为您指明正确的方向。