如何在 MSYS2 中使用 Windows Python 安装
Posted
技术标签:
【中文标题】如何在 MSYS2 中使用 Windows Python 安装【英文标题】:How to use Windows Python install in MSYS2 【发布时间】:2020-11-06 19:45:35 【问题描述】:我在 Visual Studio Code 中使用 MSYS2 作为终端以支持 GCC,并使用一些在 Linux 环境中更容易构建的工具。但是,我想在 Windows 上安装 Python 并使用它而不是使用 MSYS2 打包的 Python。我目前的解决方法是在我的.bashrc
中定义以下别名:
alias python='$PYTHONPATH/../../python.exe'
alias pip='$PYTHONPATH/../../pip.exe'
我最近尝试使用 venv,这会导致问题,因为当我从 MINGW 终端键入 python
时,它指向我的 Windows python 而不是 venv python。这显然不是一个错误,但我需要一种方法来使用 Windows python 而不是 MSYS2 python 来处理 numpy、tox、matplotlib 等包,因为这些包的 MSYS2 包令人头疼,目前,MSYS2 中的 tox+pytest 没有工作。目前,我上面的解决方案适用于我在 Python 中投入的所有内容。
那么,我的问题是如何在没有上述 hack 的情况下使用我的 Windows Python 安装而不是 POSIX/Windows MSYS2 Python?有没有办法可以定义 PATH
以将我的 Windows Python 作为 MSYS2 PATH
中的第一个条目?
这是它现在的样子:
$echo $PATH
/mingw64/bin:/usr/local/bin:/usr/bin:/bin:/c/Users/Glen.Nicholls/AppData/Local/Programs/Python/Python37/Scripts:/c/Users/Glen.Nicholls/AppData/Local/Programs/Python/Python37
我想知道如何改成以下,从 MSYS2 中删除 python,或者找到另一种方法来完成。
/c/Users/Glen.Nicholls/AppData/Local/Programs/Python/Python37/Scripts:/c/Users/Glen.Nicholls/AppData/Local/Programs/Python/Python37:/mingw64/bin:/usr/local/bin:/usr/bin:/bin:...
【问题讨论】:
【参考方案1】:您必须将/c/Users/Glen.Nicholls/AppData/Local/Programs/Python/Python37
和/c/Users/Glen.Nicholls/AppData/Local/Programs/Python/Python37/Scripts
的路径放在msys2 上的路径之前,对吗?然后我不会尝试使用终端,因为它太棘手了,所以,我将使用控制面板更容易地做到这一点。以下是一些屏幕截图,我将为您执行此操作。
(抱歉我放不了图片,只能放链接,因为我是新会员,所以放不下图片。另外,对不起,我把说明写得太详细了。)
首先,使用Windows
+S
键打开搜索框。
然后,从窗口中选择环境变量选项。
然后,在底部选择PATH系统变量,选择edit
(上为用户PATH
,下为系统PATH
)
这是以前的样子:--
然后,选择 C:/Users/Glen.Nicholls/AppData/Local/Programs/Python/Python37 并单击“上移”直到完成。同样,对“C:/Users/Glen.Nicholls/AppData/Local/Programs/Python/Python37/Scripts”执行相同操作,直到它位于顶部。
这就是现在的样子:--
完成后,重新启动您的终端,希望它能正常工作。 :D
【讨论】:
以上是关于如何在 MSYS2 中使用 Windows Python 安装的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Windows 7+ 和 MSYS2 上的 GTK3 上获取本机 Windows 装饰
如何在 Windows 上将 std::filesystem 与 mingw32-make 和 msys2 一起使用
如何使用 MSYS2 在 Windows 上安装 GTK3 和 minGW