问题是每当我尝试使用管理员权限重新启动代码时,它都会从 python 3.7 开始。 基本上我只想访问管理员权限而不切换任何版本。但根据我的论点和我所做的打印,它应该是我目前使用的python 3.12。我尝试过使用 pyuac 和其他一些选项,但它仍然有相同的结果。
代码:
import win32com.shell.shell as shell
import win32con
shell.ShellExecuteEx(
lpVerb='runas',
lpFile='"' + sys.executable + '"',
nShow=win32con.SW_NORMAL,
lpParameters=' '.join(args)
)
我使用的命令:
C:\Users\Username\PycharmProjects\My-project>python3.12 main.py "-startAsAdmin"
重启前的Python:
C:\Users\Username\AppData\Local\Microsoft\WindowsApps\PythonSoftwareFoundation.Python.3.12_qbz5n2kfra8p0\python.exe
重启后的Python:
C:\Users\Username\AppData\Local\Microsoft\WindowsApps\PythonSoftwareFoundation.Python.3.7_qbz5n2kfra8p0\python.exe
如何从 PATH 中省略使用 Python,而是设置一个虚拟环境并使用它来执行代码。
这样,您将强制解释器使用您定义的 Python 版本,而不是存储在路径中的一组版本之一。