【问题标题】:Difference between the python in Anaconda and original oneAnaconda中的python与原始python之间的区别
【发布时间】:2018-10-04 16:41:53
【问题描述】:

我是 Windows 用户,我已经在我的电脑上安装了 python(版本 3.6)。然后我下载了 Anaconda,当我打开 Anaconda 提示符运行 python 时,它给出了 python version3.7

但是,如果我直接使用 cmd 运行 python,它仍然看起来是 3.6 版本。我的电脑里好像有2个版本。因为我可以在 anaconda 提示 python 中使用一些库,但不能在我原来的 python 中使用它们。我不太满意的一件事是 anaconda 提示符在我的计算机中运行速度比 cmd 慢得多。

所以我的问题是:这两个 python 和它们的库之间会有冲突吗?如果我想使用anaconda中嵌入的库和包,是不是意味着我从现在开始只能使用anaconda提示符(但不能在windows中使用cmd)来运行我的python文件?

【问题讨论】:

    标签: python anaconda


    【解决方案1】:

    系统 Python 和 Anaconda Python 解释器不应发生冲突。这样做的动机在于virtual environmnets。如果你想在你的 anaconda python 中使用这些模块,你不一定需要从 anaconda 提示符中执行。为此(如我将如何执行此操作),您需要确定 anaconda python 实例的文件路径。您可以通过修改$PATH(请参阅related post)环境变量将该路径设置为默认路径。如果您不想将其设置为默认值,而只是用于某些脚本,您可以随时调用C:\path\to\anaconda\env\python.exe 来执行任何脚本。如果你这样做,可能值得设置为它自己的环境变量以使调用更容易(类似于$CONDA_PYTHON)。还有其他方法可以执行,例如直接在脚本中设置shebang行,但并非所有版本的windows和python都支持。更多细节可以在here找到。希望这会有所帮助。

    【讨论】:

    • 谢谢。我认为这应该有效。顺便说一句,我知道 anaconda 可以创建其他虚拟环境。你的意思是 anaconda python 已经在没有我创建的环境中了吗?
    • 环境(在 Anaconda 的上下文中)只是一个 python 解释器,以及为其安装的库/模块。需要通过anaconda创建;但是一旦创建,您就可以访问该 Python 实例,而无需进入 anaconda 提示符。
    【解决方案2】:

    Python 的版本之间可能不会有任何冲突。以下是如何检查一个 Python 是否可以访问另一个 Python 的库。我在 Mac 上,所以我的输出看起来会有些不同,但在 Windows 上应该是一样的。

    打开您的非 anaconda Python 并运行以下命令:

    λ python
    Python 2.7.10 (default, Oct  6 2017, 22:29:07)
    [GCC 4.2.1 Compatible Apple LLVM 9.0.0 (clang-900.0.31)] on darwin
    Type "help", "copyright", "credits" or "license" for more information.
    >>> import sys
    >>> sys.path
    # Prints list of folders
    

    这些是 Python 在其中查找库的文件夹。让我们将其保存到文件中(确保将其保存在可以找到的位置):

    >>> with open('default-python-path.txt', 'w') as fp:
    ...     for folder in sorted(sys.path):
    ...         print(folder, file=fp)
    ...
    >>>
    

    然后打开你的 Anaconda Python 并做同样的事情(当然使用不同的文件名)

    最后,您可以打开这两个文件并比较路径。如果路径列表完全不同,您将没有任何共享库。

    对于它的价值,我建议您查看 pipenvconda environments(仅限 Anaconda),以防止项目的库安装相互影响。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-04-24
      • 2019-09-26
      • 2017-07-21
      • 2016-02-26
      • 2021-05-05
      • 2021-10-27
      • 2014-03-02
      相关资源
      最近更新 更多