3

我在 Win 10 下使用 Msys2 便携版。我有 2 个 python 3.8 安装。原来的问题是这样问的。我现在确定它是,所以我暂时想处理他们的维护。

我还发布了另一个相关问题Msys2: readline in two python installations

我在下面发布两者的信息。

我的问题是:

  1. 他们能互相干扰吗?如果是这样,我应该处理哪些步骤/配置?( PYTHONPATH, site-packages, 等)

  2. 在不破坏另一个的情况下移除其中任何一个是否安全?在我看来,下面的依赖项似乎没有风险,但我不确定是否有足够的信息来回答这个问题。

  3. 哪个是最好保留的?我的意思是通过 Eclipse CDT 使用numpy, pandas, gcc-toolchain 和调试器,以及其他一些包。

PS1:这是对 python2 的补充,同样的问题也适用。

PS2:我觉得奇怪的是可用的子版本并不完全相同,即使版本都是 3.8.2。

PS3:这两条蟒蛇很可能是本次“剧”主角的升级,python 3.8(之前的3.8.1)升级到mingw-w64-x86_64-python 3.8.2-2python 3.7升级到python 3.8.2-1



提供 python 的软件包

$ pacman -Sl | grep "python " | grep "installed"
mingw64 mingw-w64-x86_64-python 3.8.2-2 [installed]
msys python 3.8.2-1 [installed]

每个的附加信息(依赖项等)

$ pacman -Qi mingw-w64-x86_64-python
Name            : mingw-w64-x86_64-python
Version         : 3.8.2-2
Description     : A high-level scripting language (mingw-w64)
Architecture    : any
URL             : https://www.python.org/
Licenses        : PSF
Groups          : None
Provides        : mingw-w64-x86_64-python3=3.8.2
Depends On      : mingw-w64-x86_64-gcc-libs  mingw-w64-x86_64-expat  mingw-w64-x86_64-bzip2  mingw-w64-x86_64-libffi  mingw-w64-x86_64-mpdecimal
                  mingw-w64-x86_64-ncurses  mingw-w64-x86_64-openssl  mingw-w64-x86_64-sqlite3  mingw-w64-x86_64-tcl  mingw-w64-x86_64-tk  mingw-w64-x86_64-zlib
                  mingw-w64-x86_64-xz
Optional Deps   : None
Required By     : mingw-w64-x86_64-gdb  mingw-w64-x86_64-glib2  mingw-w64-x86_64-gtest  mingw-w64-x86_64-mono  mingw-w64-x86_64-postgresql
                  mingw-w64-x86_64-python-apipkg  mingw-w64-x86_64-python-appdirs  mingw-w64-x86_64-python-atomicwrites  mingw-w64-x86_64-python-attrs
                  mingw-w64-x86_64-python-cairo  mingw-w64-x86_64-python-colorama  mingw-w64-x86_64-python-contextlib2  mingw-w64-x86_64-python-cycler
                  mingw-w64-x86_64-python-defusedxml  mingw-w64-x86_64-python-imagesize  mingw-w64-x86_64-python-importlib-metadata  mingw-w64-x86_64-python-iniconfig
                  mingw-w64-x86_64-python-jdcal  mingw-w64-x86_64-python-kiwisolver  mingw-w64-x86_64-python-lxml  mingw-w64-x86_64-python-more-itertools
                  mingw-w64-x86_64-python-numpy  mingw-w64-x86_64-python-olefile  mingw-w64-x86_64-python-ordered-set  mingw-w64-x86_64-python-packaging
                  mingw-w64-x86_64-python-pathlib2  mingw-w64-x86_64-python-pillow  mingw-w64-x86_64-python-pluggy  mingw-w64-x86_64-python-py
                  mingw-w64-x86_64-python-pyparsing  mingw-w64-x86_64-python-pytest  mingw-w64-x86_64-python-pytz  mingw-w64-x86_64-python-scandir
                  mingw-w64-x86_64-python-seaborn  mingw-w64-x86_64-python-setuptools  mingw-w64-x86_64-python-sip  mingw-w64-x86_64-python-six
                  mingw-w64-x86_64-python-wcwidth  mingw-w64-x86_64-python-zipp  mingw-w64-x86_64-vapoursynth
Optional For    : mingw-w64-x86_64-vtk
Conflicts With  : mingw-w64-x86_64-python3  mingw-w64-x86_64-python2<2.7.16-7
Replaces        : mingw-w64-x86_64-python3
Installed Size  : 112.87 MiB
Packager        : Alexey Pavlov <alexpux@gmail.com>
Build Date      : Thu, Apr 9, 2020 10:17:39 AM
Install Date    : Wed, Apr 22, 2020 10:04:36 AM
Install Reason  : Explicitly installed
Install Script  : No
Validated By    : Signature

$ pacman -Qi python
Name            : python
Version         : 3.8.2-1
Description     : Next generation of the python high-level scripting language
Architecture    : i686
URL             : https://www.python.org/
Licenses        : custom
Groups          : None
Provides        : python3
Depends On      : libbz2  libexpat  libffi  liblzma  ncurses  libopenssl  libreadline  mpdecimal  libsqlite  zlib
Optional Deps   : None
Required By     : gdb  python3-appdirs  python3-attrs  python3-pip  python3-pyparsing  python3-six  scons
Optional For    : None
Conflicts With  : None
Replaces        : python3
Installed Size  : 47.27 MiB
Packager        : Alexey Pavlov <alexpux@gmail.com>
Build Date      : Thu, Apr 16, 2020 12:31:48 PM
Install Date    : Wed, Apr 22, 2020 10:15:54 AM
Install Reason  : Explicitly installed
Install Script  : No
Validated By    : Signature

提供 python2 的软件包

$ pacman -Sl | grep "python2 " | grep "installed"
mingw64 mingw-w64-x86_64-python2 2.7.18-1 [installed: 2.7.17-2]
msys python2 2.7.18-1 [installed: 2.7.17-1]
4

1 回答 1

0

我在 MSYS2 shell(版本 2 + 3)中使用了 2 个不同版本的 Python。

我要做的是:

  • Python 路径都不包含在PATH环境变量中,因此如果某些东西需要 Python,它就会失败。
  • 当需要 Python 时,我PATH=<python_path>:$PATH会在需要它的命令之前添加(例如PATH=/D/Prog/Python/WinPython-64bit-2.7.13.1Zero/python-2.7.13.amd64:$PATH make),或者如果该命令支持在环境中设置 PYTHON,我PYTHON=<python_path>/python.exe会在命令之前添加。在某些情况下Makefileconfigure接受PYTHON变量时,也可以在PYTHON=<python_path>/python.exe命令之后追加。
  • 如果 Python 想要加载某些模块,可能还需要设置PYTHONPATH变量(例如PYTHONPATH=<python_path>/Lib/site-packages

这对我很有效,并且总是迫使我选择我使用的 Python。

于 2020-06-02T11:30:02.923 回答