gvcgo / version-manager

🔥 A general version manager for 70+ SDKs with TUI inspired by lazygit. No need to remember any commands. Less bugs.
https://vdocs.vmr.us.kg
MIT License
754 stars 29 forks source link

vmr安装的Python版本,不能被安装程序识别 #75

Closed ahwgit closed 2 months ago

ahwgit commented 2 months ago

我用vmr下载了几个Python版本,并把其中一个版本3.9.16作为全局版本(查看到环境变量已自动添加好了), 然后安装devicetool-windows-tool-4.0.0.400.exe(是华为鸿蒙的设备开发程序,会以插件的形式显示在VSCode里), 却提示找不到Python3.8/3.9(安装程序需要Python3.9或者3.8环境),

我单独安装从官网下载的Python3.9或3.8 .exe文件,它却能识别到,不知道是哪里的问题?我是在win11下操作的

moqsien commented 2 months ago

听描述,感觉跟devicetool-windows-tool-4.0.0.400.exe的检测方式有关。如果它是按安装路径来检测的,估计就只能识别安装在官方默认路径下面的Python。你可以检索一下,是否支持指定python编译器路径,将它指定为vmr的python安装路径即可。

moqsien commented 2 months ago

这个估计没办法。 看了下,没想到大厂出品的东西还这么蠢,完全是靠写死的路径或者通过它现场安装的路径来实现的Python路径识别,而不是靠环境变量。 看看人家VSCode,就是用环境变量来检测,不管你通过什么方式,安装在什么地方,只要在环境变量里面,就能检测到。 这devicetool真的是蠢到家了。

也不给个自定义的输入框作为其他选择,尽显大厂的傲慢。

可能的曲线救国办法:

  1. 按照提示,安装官网的Python,继续完成devicetool的安装;
  2. 按照https://device.harmonyos.com/cn/docs/documentation/guide/no-python-0000001297670672 的方法,修改devicetool的默认Python路径,但是注意看看之前devicetool自动通过python安装了哪些包,在vmr安装的python中,把这些包装一遍,以防因为包不存在报错之类的。
  3. 卸载通过devicetool安装的官网Python.

devicetool 4.0.0的pyenv配置文件在

C:\Program Files\Huawei\DevEco-Device-Tool\core\deveco-venv\pyvenv.cfg

具体内容类似:

home = C:\xxx\.vmr\versions\python_versions\python\python
include-system-site-packages = false
version = 3.8.10

我试了一下,似乎是可行的。不需要手动安装python包

moqsien commented 2 months ago

我已经向华为开发者论坛反映和吐槽了。看他们是继续保持傲慢,还是虚心改进吧。

ahwgit commented 2 months ago

感谢辛苦回复!我再试试

感谢,已成功!只须修改pyvenv.cfg文件,修改成vmr下载的版本即可

moqsien commented 2 months ago

没啥。多推广一下vmr,带人来给vmr点star就行了 ^_^

ahwgit commented 2 months ago

已在华为开发者论坛推广了vmr链接,好东西要更多的人参与