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

时间:2014-11-18 22:43:02

标签: python python-3.x anaconda

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

我知道我可以在命令提示符下打开Anaconda的Python版本并手动导入它,但是我想把它们设置好以便我可以双击.py文件和Anaconda的Python版本会自动使用。

7 个答案:

答案 0 :(得分:10)

我知道这已经过时了,但是如果您希望能够双击Python文件并使用正确的解释器而不修改PYTHONPATH或{{1},那么这里的答案都不是真正的解决方案每次你想使用不同的解释器。当然,从命令行PATH起作用,但OP专门询问了双击。

在这种情况下,正确的做法是使用Python launcher for Windows。然后,您所要做的就是将activate my-environment添加到脚本的顶部。不幸的是,尽管启动器是Python 3.3+的标准配置,但它不包含在Anaconda中(参见Python & Windows: Where is the python launcher?),最简单的方法是将其与here分开安装。

答案 1 :(得分:8)

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

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

简而言之,您的路径是:

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

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

有人在此处执行此操作的示例:How to add to the pythonpath in windows 7?请确保您为Anaconda文件提供子路径。

答案 2 :(得分:6)

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

  1. 启动命令提示符。

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

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

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

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

答案 3 :(得分:5)

我喜欢运行一个"裸骨" Python 2的版本,用于验证我为其他人创建的脚本,而无需高级python设置。但Anaconda和Python 3有很多不错的功能。为了在同一台计算机上享受这两件事我在Windows电脑上这样做,这让我可以轻松切换。

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

答案 4 :(得分:3)

我知道这是一个老帖子,但我最近遇到了同样的问题。然而,将Aaconda添加到PYTHONPATH并不适合我。解决了以下问题:

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

    >>> 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\\runipy-0.1.1-py2.7.egg','C:\\Anaconda\\lib\\site-packages\\setuptools-5.8-py2.7.egg']
    
  4. 复制显示的路径

  5. 在我尝试双击时执行的脚本中,将路径更改为先前复制的路径。

    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\\runipy-0.1.1-py2.7.egg','C:\\Anaconda\\lib\\site-packages\\setuptools-5.8-py2.7.egg']
    
  6. 将脚本的默认应用程序更改为' python'
  7. 执行此操作后,我的脚本正在双击。

答案 5 :(得分:0)

不了解Windows 8,但您可以设置特定扩展程序的默认程序,例如在Windows 7上右键单击=>打开,然后选择你想要的编程并选择“使用此编程默认'”,或者你可以从路径中删除旧版本的python并添加一个anaconda

答案 6 :(得分:0)

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