尽管当前官方Python版本是3.6,但msys2提供了两个与python3相关的软件包:
msys/python3
,目前使用的是 3.4mingw64/mingw-w64-x86_64-python3
, 目前使用的是 3.5
那么我应该在什么情况下使用哪个版本呢?我不能只使用Windows的3.6并告诉pacman
使用它吗?或者我能否在msys/mingw版本中运行3.6,并在Windows中也使用它,这样我就不需要安装两个/三个版本了吗?
尽管当前官方Python版本是3.6,但msys2提供了两个与python3相关的软件包:
msys/python3
,目前使用的是 3.4mingw64/mingw-w64-x86_64-python3
, 目前使用的是 3.5那么我应该在什么情况下使用哪个版本呢?我不能只使用Windows的3.6并告诉pacman
使用它吗?或者我能否在msys/mingw版本中运行3.6,并在Windows中也使用它,这样我就不需要安装两个/三个版本了吗?
这是我在msys2上安装python3所使用的方法:
$ pacman -Syuu
关闭并重新启动msys2。
$ pacman -S mingw-w64-x86_64-python3-bsddb3 mingw-w64-x86_64-gexiv2 mingw-w64-x86_64-ghostscript mingw-w64-x86_64-python3-cairo mingw-w64-x86_64-python3-gobject mingw-w64-x86_64-python3-icu mingw-w64-x86_64-iso-codes mingw-w64-x86_64-hunspell mingw-w64-x86_64-hunspell-en mingw-w64-x86_64-enchant
要解决这个错误“没有intltool或版本<0.25.0,build_intl正在中止”,请执行以下操作:
$ pacman -S intltool
添加这些进行测试:
$ pacman -S mingw-w64-x86_64-python3-lxml
$ pacman -S mingw-w64-x86_64-python3-jsonschema
$ python3 --version
Python 3.6.4
虽然可能有点晚了,但我在MSYS2中使用的是本机Windows安装的Python。我这样做的方法是确保Python添加了环境变量。之后,我创建了一个新的Windows环境变量 PYTHONPATH=C:\Users\Glen.Nicholls\AppData\Local\Programs\Python\Python37\Lib\site-packages
。我还设置了MSYS遗传在 MINGW64.ini
中。现在,我将pip
和python
的别名添加到我的 .bashrc 文件中:
alias python='$PYTHONPATH/../../python.exe'
alias pip='$PYTHONPATH/../../Scripts/pip.exe'
这不是最干净的解决方案,但在我的环境中运行良好。另外请注意,如果您运行 which python
,它将无法指向正确的安装。
另一种方法是在不创建别名和上述所有内容的情况下,将您的PATH更改为在msys PATH之前包含继承的Windows PATH。 您可以手动编辑此内容,也可以在您的.bash_profile或.bashrc中添加一些花哨的东西。
msys/python3
行为类似于 Linux 上的 Python(带有一些补丁),而mingw64/mingw-w64-x86_64-python3
则类似于 Windows 上的 Python。但由于需要更新/重新制作大量补丁,它已经有点过时了。在没有 MSYS2 特定补丁的情况下使用 Python for Windows 可能会导致非明显的错误。 - mati865pip install numpy
也失败了,因为缺少python35.dll
。我需要深入挖掘一下... - Tobias Kienzlermsys/python3
更易于使用吗?不需要 msvc++ 吗? - Mithril