如何在 MSYS2 中使用 Windows Python 安装

nic*_*lsg 3 python mingw msys2

我使用 MSYS2 作为 Visual Studio Code 中的终端来支持 GCC,并使用一些在 Linux 环境中更容易构建的工具。但是,我想在 Windows 上安装 Python 并使用它,而不是使用 MSYS2 打包的 Python。我当前的解决方法是在 my 中定义以下别名.bashrc

alias python='$PYTHONPATH/../../python.exe'
alias pip='$PYTHONPATH/../../pip.exe'
Run Code Online (Sandbox Code Playgroud)

我最近尝试使用 venv,这导致了问题,因为当我python从 MINGW 终端键入时,它指向我的 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
Run Code Online (Sandbox Code Playgroud)

我想知道如何将其改为以下内容,从 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:...
Run Code Online (Sandbox Code Playgroud)

小智 6

/c/Users/Glen.Nicholls/AppData/Local/Programs/Python/Python37你必须输入和 的路径/c/Users/Glen.Nicholls/AppData/Local/Programs/Python/Python37/Scriptsmsys2 上的路径之前,对吧然后我不会尝试使用终端,因为它太棘手,所以,我将使用控制面板来更轻松地完成它。以下是我将如何为您执行此操作的一些屏幕截图。

\n

(抱歉,我不能放图片,而是它们的链接,因为我是新会员,所以不能放任何图片。另外,抱歉我把说明做得太详细了。)

\n

Windows首先,用+打开搜索框S。\n图片1

\n

然后,从窗口中选择环境变量选项。图2

\n

然后,选择底部的 PATH 系统变量,并选择edit(上面是用户PATH,下面是系统PATH图3

\n

这是以前的样子:--图4

\n

然后,选择 C:/Users/Glen.Nicholls/AppData/Local/Programs/Python/Python37 并单击 \xe2\x80\x9cMove Up\xe2\x80\x9d 直至完成。同样,对 \xe2\x80\x9cC:/Users/Glen.Nicholls/AppData/Local/Programs/Python/Python37/Scripts\xe2\x80\x9d 执行相同的操作,直到它位于顶部。图5

\n

现在是这样的:--图6

\n

完成后,重新启动终端,希望它能正常工作。:D

\n