在 PySide2 虚拟环境中调用 lrelease 时如何修复 "Not Recognized As an Internal or External Command"?
How to fix "Not Recognized As an Internal or External Command" when calling lrelease in PySide2 virtual environment?
我正在处理这个 template project for PySide2。
正如您在 documentation 中看到的那样,用户必须手动将 lrelease.exe
的路径添加到 PATH
或名为 LRELEASE_BIN
.[=26= 的新环境变量中]
Resources and translations
In order to ease the development process,
the Qt Creator project app.pro is provided. You can open it to edit
the UI files or to manage resources. Translations can be edited using
Qt Linguist, part of the Qt SDK. In order to build the translations,
you will need to have the lrelease command on your PATH or set its
full path to the LRELEASE_BIN environment variable. UI files,
translations and resources can be built like this:
python setup.py build_res
作为我对 fork 所做更改的一部分,我想使用安装在虚拟环境中的 PySide2
包中的 lrelease
。
它将避免必须安装 Qt 并使所有依赖项自包含。
问题是当我尝试使用 lrelease.exe
的本地路径启动 python.exe .\setup.py build_res
时
lrelease = ".venv/Lib/site-packages/PySide2/lrelease.exe"
check_call([lrelease, "app.pro"])
我收到以下错误:
"C:/Users/my_user/path_to_my_project/.venv/Lib/site-packages/PySide2/lrelease-pro.exe" Not Recognized As an Internal or External Command
和
subprocess.CalledProcessError: Command '['.venv/Lib/site-packages/PySide2/lrelease.exe', 'app.pro']' returned non-zero exit status 1.
有没有办法依赖pip安装的lrelease
可执行文件?
根据错误消息判断,您启动的 lrelease.exe
程序似乎在执行 lrelease-pro.exe
,它不存在于目录 .venv/Lib/site-packages/PySide2/
中。我可以确认在 Windows 上包含 PySide2 5.15.2 的虚拟环境中我自己没有这样的程序,只有 lrelease.exe
:
$ find .venv/ -name "*lrelease*"
.venv/Lib/site-packages/PySide2/lrelease.exe
鉴于lrelease.exe
是在.venv/Lib
而不是.venv/Scripts
,感觉不是PySide2为了用户使用而提供的,相反pyside2-lupdate.exe
在 .venv/Scripts
中。在 Linux 上,lrelease
甚至在 .venv/lib
中都没有提供,完全没有。
所以我敢打赌,不,目前不支持使用 pip
安装的 lrelease.exe
可执行文件作为 PySide2 的一部分。潜在替代品:
如果lrelease.exe
也由Qt Creator提供,可以install Qt Creator alone,而不是与完整的Qt SDK一起使用,非常大。
在 PyPI 上搜索“lrelease”会产生 distutils-ui 和 setup_qt 听起来他们可能会提供 lrelease
可执行文件。
我正在处理这个 template project for PySide2。
正如您在 documentation 中看到的那样,用户必须手动将 lrelease.exe
的路径添加到 PATH
或名为 LRELEASE_BIN
.[=26= 的新环境变量中]
Resources and translations
In order to ease the development process, the Qt Creator project app.pro is provided. You can open it to edit the UI files or to manage resources. Translations can be edited using Qt Linguist, part of the Qt SDK. In order to build the translations, you will need to have the lrelease command on your PATH or set its full path to the LRELEASE_BIN environment variable. UI files, translations and resources can be built like this:
python setup.py build_res
作为我对 fork 所做更改的一部分,我想使用安装在虚拟环境中的 PySide2
包中的 lrelease
。
它将避免必须安装 Qt 并使所有依赖项自包含。
问题是当我尝试使用 lrelease.exe
python.exe .\setup.py build_res
时
lrelease = ".venv/Lib/site-packages/PySide2/lrelease.exe"
check_call([lrelease, "app.pro"])
我收到以下错误:
"C:/Users/my_user/path_to_my_project/.venv/Lib/site-packages/PySide2/lrelease-pro.exe" Not Recognized As an Internal or External Command
和
subprocess.CalledProcessError: Command '['.venv/Lib/site-packages/PySide2/lrelease.exe', 'app.pro']' returned non-zero exit status 1.
有没有办法依赖pip安装的lrelease
可执行文件?
根据错误消息判断,您启动的 lrelease.exe
程序似乎在执行 lrelease-pro.exe
,它不存在于目录 .venv/Lib/site-packages/PySide2/
中。我可以确认在 Windows 上包含 PySide2 5.15.2 的虚拟环境中我自己没有这样的程序,只有 lrelease.exe
:
$ find .venv/ -name "*lrelease*"
.venv/Lib/site-packages/PySide2/lrelease.exe
鉴于lrelease.exe
是在.venv/Lib
而不是.venv/Scripts
,感觉不是PySide2为了用户使用而提供的,相反pyside2-lupdate.exe
在 .venv/Scripts
中。在 Linux 上,lrelease
甚至在 .venv/lib
中都没有提供,完全没有。
所以我敢打赌,不,目前不支持使用 pip
安装的 lrelease.exe
可执行文件作为 PySide2 的一部分。潜在替代品:
如果
lrelease.exe
也由Qt Creator提供,可以install Qt Creator alone,而不是与完整的Qt SDK一起使用,非常大。在 PyPI 上搜索“lrelease”会产生 distutils-ui 和 setup_qt 听起来他们可能会提供
lrelease
可执行文件。