同时安装32/64位Python2.7的环境变量修复及PyQt pyuic转码问题求助
一、修复32位与64位Python 2.7共存的环境变量问题
当系统里同时装了32位和64位的Python 2.7,最容易出现的问题就是命令行调用python时版本混乱,连带pip、pyuic这类工具也跟着出问题。这里给你一套实用的解决步骤:
第一步:给两个Python版本做明确标识
找到两个Python的安装目录(比如32位默认在C:\Python27,64位可能是C:\Python27_64),分别把目录里的python.exe重命名为python27_32.exe和python27_64.exe,对应的pythonw.exe也改成pythonw27_32.exe和pythonw27_64.exe。这样你就能通过明确的命令调用对应版本了。第二步:调整PATH环境变量的优先级
把你日常更常用的那个Python版本的安装目录,以及它的Scripts子目录,移到PATH列表的最顶部。比如优先用64位,就把C:\Python27_64和C:\Python27_64\Scripts放到PATH最前面;如果需要临时切换32位,直接在命令行输入python27_32启动即可。第三步:给pip也做版本区分
打开命令行,分别执行以下命令升级两个版本的pip:python27_32 -m pip install --upgrade pip python27_64 -m pip install --upgrade pip之后你就能用
pip27_32和pip27_64分别给对应版本安装依赖,彻底避免版本混淆。
二、解决pyuic无法执行的问题
结合你提到的命令返回脚本内容、环境变量的情况,大概率是这几个原因,逐一排查:
原因1:命令输错了
Python2.7搭配的PyQt版本通常是PyQt4,对应的转换命令是pyuic4,不是pyuic或pyuic5。先试试在命令行输入pyuic4 --version,看能不能正常返回版本信息。原因2:PyQt的Scripts目录没在PATH里
检查你的用户/系统环境变量PATH,有没有包含对应Python版本的Scripts目录(比如C:\Python27_64\Scripts)。如果没有,把它添加进去,一定要重启命令提示符再试——环境变量修改后必须重启终端才会生效。原因3:系统把pyuic当成文本文件打开了
如果命令提示符返回的是脚本内容而非执行结果,说明系统没有用Python去解析pyuic脚本。这种情况可以直接用指定版本的Python来执行转换:python27_64 -m PyQt4.uic.pyuic your_ui_file.ui -o output_file.py这样绕开直接调用pyuic命令,强制用对应版本的Python运行转换工具。
原因4:PyQt工具包没装完整
如果上面的方法都不行,可能是你只装了PyQt核心库,没包含uic工具。用对应版本的pip重新安装:pip27_64 install pyqt4确保安装过程无报错,之后再尝试调用pyuic4。
内容的提问来源于stack exchange,提问作者Mazepaad

