如何使用 Anaconda 的 Python 版本执行 Python 脚本?
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/27005561/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
How can I execute Python scripts using Anaconda's version of Python?
提问by Alessandro Power
I recently downloaded the Anaconda distribution for Python. I noticed that if I write and execute a Python script (by double-clicking on its icon), my computer (running on Windows 8) will execute it using my old version of Python rather than Anaconda's version. So for example, if my script contains import matplotlib, I will receive an error. Is there a way to get my scripts to use Anaconda's version of Python instead?
我最近下载了 Python 的 Anaconda 发行版。我注意到,如果我编写并执行 Python 脚本(通过双击其图标),我的计算机(在 Windows 8 上运行)将使用我的旧版 Python 而不是 Anaconda 的版本来执行它。例如,如果我的脚本包含import matplotlib,我将收到一个错误。有没有办法让我的脚本改用 Anaconda 的 Python 版本?
I know that I can just open Anaconda's version of Python in the command prompt and manually import it, but I'd like to set things us so that I can just double-click on a .py file and Anaconda's version of Python is automatically used.
我知道我可以在命令提示符下打开 Anaconda 的 Python 版本并手动导入它,但我想设置一些东西,以便我只需双击一个 .py 文件就可以自动使用 Anaconda 的 Python 版本.
回答by Ludovic Viaud
don't know windows 8 but you can probably set the default prog for a specific extension, for example on windows 7 you do right click => open with, then you select the prog you want and select 'use this prog as default', or you can remove your old version of python from your path and add the one of the anaconda
不知道 Windows 8,但您可能可以为特定扩展设置默认程序,例如在 Windows 7 上,您右键单击 => 打开方式,然后选择所需程序并选择“将此程序用作默认程序”,或者您可以从路径中删除旧版本的 python 并添加 anaconda 之一
回答by marsh
Set your python path to the Anaconda version instead
将您的 python 路径设置为 Anaconda 版本
Windows has a built-in dialog for changing environment variables (following guide applies to XP classical view): Right-click the icon for your machine (usually located on your Desktop and called “My Computer”) and choose Properties there. Then, open the Advanced tab and click the Environment Variables button.
Windows 有一个用于更改环境变量的内置对话框(以下指南适用于 XP 经典视图):右键单击您机器的图标(通常位于您的桌面上并称为“我的电脑”),然后在那里选择属性。然后,打开高级选项卡并单击环境变量按钮。
In short, your path is:
简而言之,您的路径是:
My Computer ? Properties ? Advanced ? Environment Variables In this dialog, you can add or modify User and System variables. To change System variables, you need non-restricted access to your machine (i.e. Administrator rights).
我的电脑 ?特性 ?先进的 ?环境变量 在此对话框中,您可以添加或修改用户和系统变量。要更改系统变量,您需要不受限制地访问您的机器(即管理员权限)。
Find your PATH variable and add the location of your Anaconda directory.
找到您的 PATH 变量并添加您的 Anaconda 目录的位置。
Example of someone doing it here: How to add to the PYTHONPATH in Windows, so it finds my modules/packages?Make sure that you sub path out for the Anaconda file though.
有人在这里做的例子:How to add to the PYTHONPATH in Windows, so it find my modules/packages? 不过,请确保为 Anaconda 文件设置子路径。
回答by user3782041
I know this is an old post, but I recently came across with the same problem. However, adding Anaconda to PYTHONPATH wasn't working for me. What got it fixed was the following:
我知道这是一个旧帖子,但我最近遇到了同样的问题。但是,将 Anaconda 添加到 PYTHONPATH 对我不起作用。修复它的是以下内容:
- Added Anaconda to the PYTHONPATH and remove any other distribution of Python from any paths.
- Opened the command prompt and started python (Here I had to verify that it was indeed running under the Anaconda dist)
Ran the following lines inside 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']Copied the displayed path
Within the script that I'm trying to execute on double click, changed the path to the previously copied one.
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']- Changed the default application for the script to 'python'
- 将 Anaconda 添加到 PYTHONPATH 并从任何路径中删除任何其他 Python 发行版。
- 打开命令提示符并启动python(这里我必须验证它确实在Anaconda dist下运行)
在 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']- 将脚本的默认应用程序更改为“python”
After doing this, my scripts are working on double click.
这样做后,我的脚本正在双击。
回答by Ernesto561
The instructions in the official Python documentation worked for me: https://docs.python.org/2/using/windows.html#executing-scripts
官方 Python 文档中的说明对我有用:https: //docs.python.org/2/using/windows.html#executing-scripts
Launch a command prompt.
Associate the correct file group with .py scripts:
assoc .py=Python.File
启动命令提示符。
将正确的文件组与 .py 脚本相关联:
assoc .py=Python.File
Redirect all Python files to the new executable:
将所有 Python 文件重定向到新的可执行文件:
ftype Python.File=C:\Path\to\pythonw.exe "%1" %*
The example shows how to associate the .py extension with the .pyw executable, but it works if you want to associate the .py extension with the Anaconda Python executable. You need administrative rights. The name "Python.File" could be anything, you just have to make sure is the same name in the ftype command. When you finish and before you try double-clicking the .py file, you must change the "Open with" in the file properties. The file type will be now ".py" and it is opened with the Anaconda python.exe.
该示例显示了如何将 .py 扩展名与 .pyw 可执行文件相关联,但如果您想将 .py 扩展名与 Anaconda Python 可执行文件相关联,它可以工作。您需要管理权限。名称“Python.File”可以是任何名称,您只需要确保在 ftype 命令中名称相同。完成后,在尝试双击 .py 文件之前,您必须更改文件属性中的“打开方式”。文件类型现在将是“.py”,并使用 Anaconda python.exe 打开。
回答by ZYJ
You can try to change the default .pyprogram via policy management. Go to windows, search for regedit, right click it. And then run as administrator. Then, you can search the key word "python.exe" And change your Python27 path to you Anaconda path.
您可以尝试.py通过策略管理更改默认程序。转到Windows,搜索regedit,右键单击它。然后以管理员身份运行。然后,您可以搜索关键字“python.exe”并将您的Python27路径更改为您的Anaconda路径。
回答by sparrow
I like to run a "bare-bones" version of Python 2 to verify scripts that I create for other people without an advanced python setup. But Anaconda and Python 3 have a lot of nice features. To enjoy both things on the same computer I do this on my Windows computer which allows me to easily switch.
我喜欢运行 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.
For more info: http://conda.pydata.org/docs/test-drive.html
回答by JaminSore
I know this is old, but none of the answers here is a real solution if you want to be able to double-click Python files and have the correct interpreter used without modifying your PYTHONPATHor PATHevery time you want to use a different interpreter. Sure, from the command line, activate my-environmentworks, but OP specifically asked about double-clicking.
我知道这是旧的,但是如果您希望能够双击 Python 文件并使用正确的解释器而无需修改PYTHONPATH或PATH每次要使用不同的解释器,那么这里的答案都不是真正的解决方案。当然,从命令行,activate my-environment工作,但 OP 特别询问双击。
In this case, the correct thing to do is use the Python launcher for Windows. Then, all you have to do is add #! path\to\interpreter\python.exeto the top of your script. Unfortunately, although the launcher comes standard with Python 3.3+, it is not included with Anaconda (see Python & Windows: Where is the python launcher?), and the simplest thing to do is to install it separately from here.
在这种情况下,正确的做法是使用适用于 Windows的Python 启动器。然后,您所要做的就是添加#! path\to\interpreter\python.exe到脚本的顶部。不幸的是,虽然启动器是 Python 3.3+ 的标准配置,但它不包含在 Anaconda 中(请参阅Python 和 Windows:python 启动器在哪里?),最简单的方法是从这里单独安装它。

