Anaconda中的python与原始版本之间的区别

时间:2018-10-04 16:41:54

标签: python anaconda

我是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文件?

2 个答案:

答案 0 :(得分:2)

系统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。希望这会有所帮助。

答案 1 :(得分:2)

Python版本之间可能不会有任何冲突。这是检查一个Python是否可以访问另一个Python库的方法。我使用的是Mac,因此我的输出看起来会有些不同,但是在Windows上应该可以正常使用。

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

<CheckBox
    android:id="@+id/checkbox"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_weight="90"
    android:focusable="false"
    android:focusedByDefault="false" />

这些是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

然后打开Anaconda Python并执行相同的操作(当然使用不同的文件名)

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

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