我最近下载了适用于Python的Anaconda发行版。我注意到如果我编写并执行Python脚本(通过双击其图标),我的计算机(在Windows 8上运行)将使用旧版本的Python而不是Anaconda的版本执行它。例如,如果我的脚本包含import matplotlib
,我将收到错误消息。有没有办法让我的脚本改为使用Anaconda的Python版本?
我知道我可以在命令提示符下打开Anaconda的Python版本并手动导入它,但是我想把它们设置好以便我可以双击.py文件和Anaconda的Python版本会自动使用。
答案 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
启动命令提示符。
将正确的文件组与.py脚本关联:
assoc .py=Python.File
将所有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.
答案 4 :(得分:3)
我知道这是一个老帖子,但我最近遇到了同样的问题。然而,将Aaconda添加到PYTHONPATH并不适合我。解决了以下问题:
在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']
复制显示的路径
在我尝试双击时执行的脚本中,将路径更改为先前复制的路径。
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']
执行此操作后,我的脚本正在双击。
答案 5 :(得分:0)
不了解Windows 8,但您可以设置特定扩展程序的默认程序,例如在Windows 7上右键单击=>打开,然后选择你想要的编程并选择“使用此编程默认'”,或者你可以从路径中删除旧版本的python并添加一个anaconda
答案 6 :(得分:0)
您可以尝试通过策略管理更改默认的.py
程序。转到Windows,搜索注册表,右键单击它。然后以管理员身份运行。然后,您可以搜索关键字“python.exe”并将您的Python27路径更改为您的Anaconda路径。