如何使用Anaconda的Python版本执行Python脚本?

How can I execute Python scripts using Anaconda's version of Python?

我最近下载了Python的Anaconda发行版。 我注意到,如果我编写并执行Python脚本(通过双击其图标),则我的计算机(在Windows 8上运行)将使用旧版本的Python(而不是Anaconda的版本)执行该脚本。 因此,例如,如果我的脚本包含import matplotlib,我将收到一个错误。 有没有办法让我的脚本改用Anaconda的Python版本?

我知道我可以在命令提示符下打开Anaconda的Python版本并手动将其导入,但是我想对我们进行设置,以便我可以双击.py文件,然后自动使用Anaconda的Python版本 。


我知道这很旧,但是如果您希望能够双击Python文件并使用正确的解释器,而又不想每次都使用PYTHONPATHPATH进行修改,那么这里的答案都不是真正的解决方案 不同的口译员。 当然,在命令行中activate my-environment是有效的,但是OP专门询问了有关双击的问题。

在这种情况下,正确的做法是使用Windows的Python启动器。 然后,您要做的就是将#! path\to\interpreter\python.exe添加到脚本顶部。 不幸的是,尽管启动器是Python 3.3+的标准配置,但Anaconda并未随附该启动器(请参阅Python和Windows:python启动器在哪里?),最简单的方法是从此处单独安装。


将您的python路径设置为Anaconda版本

Windows有一个用于更改环境变量的内置对话框(以下指南适用于XP经典视图):右键单击计算机的图标(通常位于桌面上,并称为"我的电脑"),然后在此处选择"属性"。然后,打开"高级"选项卡,然后单击"环境变量"按钮。

简而言之,您的路径是:

我的电脑 ?属性高级?环境变量
在此对话框中,您可以添加或修改用户和系统变量。要更改系统变量,您需要对计算机的非限制访问权限(即管理员权限)。

找到您的PATH变量,并将其保存到Anaconda目录的位置。

这里有人的示例:如何在Windows 7中添加到pythonpath?但是,请确保为Anaconda文件分配子路径。


我喜欢运行Python 2的"框架"版本来验证我为其他人创建的脚本,而这些脚本没有高级python设置。但是Anaconda和Python 3具有很多不错的功能。要在同一台计算机上同时享受这两种功能,请在Windows计算机上执行此操作,这使我可以轻松切换。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
C:\Users>python --version
Python 2.7.11

C:\Users>conda create --name p3 python=3

C:\Users>conda info --envs
Using Anaconda Cloud api site https://api.anaconda.org
# conda environments:
#
p3                       C:\Anaconda3\envs\p3
root                  *  C:\Anaconda3

C:\Users>activate p3
Deactivating environment"C:\Anaconda3"...
Activating environment"C:\Anaconda3\envs\p3"...

[p3] C:\Users>python --version
Python 3.5.1 :: Continuum Analytics, Inc.

有关更多信息:http://conda.pydata.org/docs/test-drive.html


官方Python文档中的说明对我有用:https://docs.python.org/2/using/windows.html#executing-scripts

  • 启动命令提示符。

  • 将正确的文件组与.py脚本相关联:

    1
    assoc .py=Python.File
  • 将所有Python文件重定向到新的可执行文件:

    1
        ftype Python.File=C:\Path\to\pythonw.exe"%1" %*

    该示例显示了如何将.py扩展名与.pyw可执行文件相关联,但是如果您想将.py扩展名与Anaconda Python可执行文件相关联,则该示例有效。您需要管理权限。名称" Python.File"可以是任何名称,您只需确保ftype命令中的名称相同即可。完成后,在尝试双击.py文件之前,必须在文件属性中更改"打开方式"。文件类型现在为" .py",并使用Anaconda python.exe打开。


    我知道这是一篇旧文章,但最近遇到了同样的问题。但是,将Anaconda添加到PYTHONPATH对我不起作用。解决该问题的方法如下:

  • 将Anaconda添加到PYTHONPATH,并从任何路径中删除Python的其他任何发行版。
  • 打开命令提示符并启动python(在这里我必须验证它确实在Anaconda dist下运行)
  • 在anaconda中运行以下行

    1
    2
    3
    4
    >>> import sys
    >>> sys.path
    ['','C:\\Anaconda','C:\\Anaconda\\Scripts','C:\\Anaconda\\python27.zip','C:\\Anaconda\\DLLs','C:\\Anaconda\\lib','C:\\Anaconda\\lib\\plat-win','C:\\Anaconda\\lib\\lib-tk','C:\\Anaconda\\lib\\site-packages','C:\\Anaconda\\lib\\site-packages\\PIL','C:\\Anaconda\\lib\\site-packages\\Sphinx-1.2.3-py2.7.egg','C:\\Anaconda\\lib\\site-packages\\win32', 'C:\\Anaconda\\lib\\site-packages\\win32\\lib', 'C:\\Anaconda\\lib\\site-packages\\Pythonwin','C:\\Anaconda\\lib\\site-packages\
    unipy-0.1.1-py2.7.egg'
    ,'C:\\Anaconda\\lib\\site-packages\\setuptools-5.8-py2.7.egg']
  • 复制显示的路径

  • 在我要双击执行的脚本中,将路径更改为先前复制的路径。

    1
    2
    3
    import sys
    sys.path =['','C:\\Anaconda','C:\\Anaconda\\Scripts','C:\\Anaconda\\python27.zip','C:\\Anaconda\\DLLs','C:\\Anaconda\\lib','C:\\Anaconda\\lib\\plat-win','C:\\Anaconda\\lib\\lib-tk','C:\\Anaconda\\lib\\site-packages','C:\\Anaconda\\lib\\site-packages\\PIL','C:\\Anaconda\\lib\\site-packages\\Sphinx-1.2.3-py2.7.egg','C:\\Anaconda\\lib\\site-packages\\win32', 'C:\\Anaconda\\lib\\site-packages\\win32\\lib', 'C:\\Anaconda\\lib\\site-packages\\Pythonwin','C:\\Anaconda\\lib\\site-packages\
    unipy-0.1.1-py2.7.egg'
    ,'C:\\Anaconda\\lib\\site-packages\\setuptools-5.8-py2.7.egg']
  • 将脚本的默认应用程序更改为" python"
  • 完成此操作后,我的脚本可以进行双击。


    您可以尝试通过策略管理更改默认的.py程序。转到Windows,搜索regedit,然后右键单击它。然后以管理员身份运行。然后,您可以搜索关键字" python.exe",并将Python27路径更改为Anaconda路径。


    不知道Windows 8,但您可能可以为特定扩展名设置默认编,例如在Windows 7上,右键单击=>打开,然后选择所需的编,然后选择"将此编用作默认",或者您可以从路径中删除旧版本的python并添加其中一个anaconda