dln*_*385 221 python windows compatibility backwards-compatibility build-environment
我在Windows 7上使用Python 3.x进行大部分编程,但现在我需要使用Python Imaging Library(PIL),ImageMagick和wxPython,所有这些都需要Python 2.x.
我可以在Windows 7中安装Python 2.x和Python 3.x吗?当我运行脚本时,我如何"选择"应该运行哪个版本的Python?上述程序是否能够同时处理多个版本的Python?我已经搜索了几个小时和几个小时来如何做到这一点无济于事.
谢谢.
Ped*_*ner 145
我发现这样做的正式方法如下:
只需在Windows 7上安装两个(或更多,使用他们的安装程序)版本的Python(对我来说,使用3.3和2.7).
按照下面的说明,根据需要更改参数.
创建以下环境变量(双击默认值):
Name: PY_PYTHON
Value: 3
Run Code Online (Sandbox Code Playgroud)
要在特定解释器中启动脚本,请添加以下shebang(脚本开头):
#! python2
Run Code Online (Sandbox Code Playgroud)
要使用特定解释器执行脚本,请使用以下prompt命令:
> py -2 MyScript.py
Run Code Online (Sandbox Code Playgroud)
要启动特定的口译员:
> py -2
Run Code Online (Sandbox Code Playgroud)
要启动默认解释器(由PY_PYTHON变量定义):
> py
Run Code Online (Sandbox Code Playgroud)
资源
PEP 397 - 适用于Windows的Python启动器
小智 72
我做的是下载2.7.6和3.3.4.Python 3.3.4可以选择在环境变量中添加它的路径,以便完成.所以基本上我只是手动添加了Python 2.7.6.
如何...
在环境中的搜索类型中选择"将环境变量编辑到您的帐户"1
向下滚动到路径,选择路径,单击编辑.
添加C:\ Python27; 所以你应该有两个版本的Python的路径,但如果你不这样做,你可以轻松地编辑它,这样你就可以..... C:\ Python27; C:\ Python33;
导航到C:\中的Python27文件夹,并将python.exe的副本重命名为python2.exe
导航到C:\中的Python34文件夹,并将python.exe的副本重命名为python3.exe
测试:打开命令提示符并输入python2 .... BOOM!Python 2.7.6.退出.
测试:打开命令提示符并输入python3 .... BOOM!Python 3.4.3.退出.
注意:(为了不在第4步和第5步中破坏pip命令,请将python.exe的副本保留在与重命名文件相同的目录中)
mon*_*kut 50
我在Windows中有多个版本.我只是更改了我没有默认的版本的exe名称.
python.exe - > python26.exe
pythonw.exe - > pythonw26.exe
对于软件包安装程序,大多数exe安装程序允许您选择python安装来添加软件包.对于手动安装,请查看--prefix选项以定义软件包的安装位置:
http://docs.python.org/install/index.html#alternate-installation-windows-the-prefix-scheme
phi*_*hem 30
如果您使用Anaconda Python,则可以轻松安装各种环境.
假设您安装了Anaconda Python 2.7并且您想要一个python 3.4环境:
conda create -n py34 python=3.4 anaconda
Run Code Online (Sandbox Code Playgroud)
然后激活环境:
activate py34
Run Code Online (Sandbox Code Playgroud)
并且deactive:
deactivate py34
Run Code Online (Sandbox Code Playgroud)
(使用Linux,你应该使用source activate py34.)
链接:
小智 8
这是你可以做的:
安装cmder.像使用cmd终端一样打开并使用Cmder.使用命令别名创建命令别名.
我做了以下事情:
alias python2 = c:\python27\python.exe
alias python3 = c:\python34\python.exe
Run Code Online (Sandbox Code Playgroud)
就是这样!;-)
要在同一系统中安装并运行任何版本的Python,请遵循以下指南。
例如,说您要在同一Windows系统上安装Python 2.x和Python3.x。
在需要的任何位置安装它们的两个二进制发行版。
仅运行命令python,便会选择要在PATH中首次遇到的可执行文件进行启动。换句话说,手动添加Python目录。键入时,将选择第一个添加的对象python。像这样选择连续的python程序(按顺序将其目录放置在PATH中):
python python等等。无论“ pythons”的顺序如何,您都可以:
在我的示例中,我先安装了Python 2.7.14,然后安装了Python 3.5.3。这是我的PATH变量以以下内容开头的方式:
PATH = C:\ Program Files \ Microsoft MPI \ Bin \; C:\ Python27; C:\ Program Files \ Python_3.6 \ Scripts \; C:\ Program Files \ Python_3.6 \; C:\ ProgramData \ Oracle \ Java \ javapath; C:\ Program Files(x86)\ Common Files \ Intel \ Shared
...
请注意,Python 2.7是第一位,Python 3.5是第二位。
python命令将启动python 2.7(如果使用Python 3.5,则同一命令将启动Python 3.5)。py -2启动Python 2.7(因为第二个Python是与兼容的Python 3.5 py -2)。运行py -3启动Python 3.5(因为它是Python 3.x) py -4。如果/当发布Python版本4时,这可能会更改。现在py -4或py -5等在我的系统上输出:Requested Python version (4) not installed或Requested Python version (5) not installed等。
希望这已经足够清楚了。
我其实只是想到了一个有趣的解决方案.虽然Windows不允许您轻松地为程序设置别名,但您可以创建重命名的批处理文件来调用当前程序.
而不是重命名将破坏包括pip在内的许多东西的可执行文件,而是在与python2.exe相同的目录中创建文件python2.bat.然后添加以下行:
%~dp0python %*
Run Code Online (Sandbox Code Playgroud)
这种古老的语法意味着什么?好吧,这是一个批处理脚本,(Windows版本的bash).%~dp0获取当前目录,%*将只传递传递给脚本的python的所有参数.
重复python3.bat
您也可以为pip和其他实用程序执行相同操作,只需用pip或文件名替换文件中的单词python.别名将是文件的名称.
最重要的是,当添加到PATH时,Windows会忽略扩展程序以便运行
python3
Run Code Online (Sandbox Code Playgroud)
将启动python3版本,并且命令python2将启动python2版本.
顺便说一下,这是Spyder用于将自己添加到Windows路径上的相同技术.:)
您可以在一台计算机上安装多个版本的 Python,并且在安装过程中,您可以选择将其中一个版本与 Python 文件扩展名相关联。如果您安装模块,不同版本会有不同的安装包,或者您可以选择要定位的版本。由于它们通常将自己安装到解释器版本的 site-packages 目录中,因此不应该有任何冲突(但我还没有对此进行测试)。要选择 python 的版本,如果不是默认的,则必须手动指定解释器的路径。据我所知,它们会共享相同的 PATH 和 PYTHONPATH 变量,这可能是一个问题。
注意:我运行的是Windows XP。我不知道其他版本是否会发生任何变化,但我看不出任何原因。
| 归档时间: |
|
| 查看次数: |
220549 次 |
| 最近记录: |