使用多个版本的 Python
Posted
技术标签:
【中文标题】使用多个版本的 Python【英文标题】:Using multiple versions of Python 【发布时间】:2013-12-31 13:45:45 【问题描述】:我的计算机上同时安装了 Python 3.3 和 Python 2.7。 python 3.3 工作正常,但是当我尝试使用 python 2.7 运行某些东西时,它仍然引用 python 3.3。
例如:如果我输入 F:\Python33\python33.exe test1.py
,它将运行 3.3 并且工作正常,但如果我输入 F:\Python27\python27.exe test1.py
它会给出这个错误:
File "F:\PYTHON33\LIB\site.py", line 173
file=sys.stderr)
^
SyntaxError: invalid syntax
注意:我已将 Python 2.7 和 3.3 .exe 分别重命名为 python27.exe 和 python33.exe。
任何帮助将不胜感激,谢谢。
【问题讨论】:
您是否将PYTHONPATH
设置为环境变量?
我的 PYTHONPATH 是 F:\PYTHON27;F:\PYTHON27\DLLs;F:\PYTHON27\LIB;F:\PYTH
只有一个题外话。最好使用linux进行python开发,更容易更好。更容易拥有多个python版本和环境,更简单更好的终端,更容易编译c扩展,开源免费……
【参考方案1】:
Google 搜索结果返回了一些有用的资源来回答您的问题。
Python 文档
Python 文档 (http://docs.python.org/3.3/using/windows.html#python-launcher-for-windows) 提供了在同一台机器上运行多个版本的快速概览。
第一个选项是在你希望执行的文件中包含你的 python 版本,使用类似于
#! python 你的代码在这里
在 Python 2 中执行,或者
#! python3 你的代码在这里
用于在您的 Python 3 版本中运行代码。然后,您只需使用“python yourscript.py”,python 版本将由 Python 脚本指定。
StackExchange 站点
还有多个其他问题可以解决您面临的问题:How to install both Python 2.x and Python 3.x in Windows 7
或者对于 Ubuntu 13:Ubuntu 13.04 Install and running Python 3 at the same time than Python 2.7.x
或者对于使用 Homebrew 的 Mac:How can I use Homebrew to install both Python 2 and 3 on Mac? 以及没有 Homebrew 的 Mac 视频参考:http://www.youtube.com/watch?v=c9LlK2iu7OA
【讨论】:
注意:Hashbang (#!
) 在 Windows 上被忽略。您不能使用它来切换 Python 版本(但显示您期望的版本仍然是个好主意)。
@AaronDigulla Windows 上是否有任何等效功能?
我不知道。您可以安装 MinWG 以获得类似 unix 的环境,但这只是一个仿真,您会注意到一些奇怪的地方。也许问一个新问题?
如果您使用 py 启动器,Shebang (#!
) 可以工作。【参考方案2】:
如果设置了多版本的python,你会遇到问题
文件“F:\PYTHON33\LIB\site.py”,第 173 行 文件=sys.stderr) ^ SyntaxError: 无效语法
要解决此问题,请删除系统环境变量中设置的以前版本的 python
【讨论】:
当它错误地调用另一个 site.py 时我得到了这个错误,然后我通过将 python 移动到路径的顶部来解决这个错误。【参考方案3】:将 PYTHONPATH
环境变量设置为 none 为我解决了这个问题。
【讨论】:
【参考方案4】:如果您想使用不同版本的 Python,请尝试VirtualEnv。
更新: 给你的附加主题:Use different Python version with virtualenv
【讨论】:
【参考方案5】:更改可执行文件并不是每个人都可以选择的,卸载可能会破坏依赖该 Python 安装的程序。
我在这里的回答并不能保证您可以无缝地同时运行这两个版本,但是我能够在没有像卸载这样重要的事情的情况下解决它。
就我而言,问题在于PYTHONPATH
和PYTHONHOME
环境变量都设置为3.x 安装路径,而我需要使用2.x 安装。用 2.x 路径替换这些环境变量并重新启动 shell 对我来说是一个可以接受的解决方法。
【讨论】:
【参考方案6】:我在运行我的 python 文件时收到了同样的错误 蟒蛇文件名.py 我的 PYTHONPATH 设置为使用 python3
我通过使用以下命令运行我的文件来修复它
python3 filename.py
【讨论】:
【参考方案7】:我通过删除 = 符号并简单地保留为 sys.stderr 解决了这个问题
【讨论】:
你的意思是你修改了F:\PYTHON33\LIB\site.py
?我不建议在 Python 安装中更改代码...以上是关于使用多个版本的 Python的主要内容,如果未能解决你的问题,请参考以下文章