gpt4 book ai didi

python - 并行安装 Python 2.7.1 和 Apple 提供的 Python

转载 作者:太空狗 更新时间:2023-10-29 17:38:53 26 4
gpt4 key购买 nike

我刚刚从 Python.org 下载了 Python 2.7.1 DMG .我看过有关获取 ActivePython 的建议,但我更喜欢来自 Python.org 的建议。

  1. 如果我只在 DMG 中运行 mpkg 安装程序,接受所有默认设置,它会与 Apple 提供的 Python 和平相处吗?
  2. 如果我在终端中输入 python,我会得到哪一个?
  3. 在终端中,如何指定运行 Apple 提供的 Python?我自己安装的 Python 呢?
  4. 在安装不同的 Python 版本时,这些关于设置 PATH 的讨论是什么?我知道 Python 安装程序会自动设置它。但我仍然想偷看引擎盖下。我知道如何在 Windows 中执行此操作(环境变量)。对于 Mac OS X,如何修改 PATH

我不妨先自己尝试一下,但我是 Mac 新手。 Python 是一个相当复杂的安装,将文件写入不同的文件夹并配置操作系统设置,如 PATH。如果我想回到干净的状态,TrashMe 或 AppCleaner 可能无法非常有效地卸载 Python。因此,我想清楚地了解我的上述问题。

最佳答案

如果您在使用 python.org 安装程序时没有更改默认的软件包集,请键入 python从命令行应该运行新安装的 Python 2.7。 (您需要在运行安装程序后启动一个新的终端 session 才能看到这一点。)当前用于 OS X 的 python.org 安装程序会在您的应用程序目录中创建一个名为 Python m.n 的文件夹。取决于 Python 版本。如果你看/Applications/Python 2.7 ,您会看到一个名为 Update Shell Profile.command 的文件.这是一个shell脚本;您可以在编辑器中或使用 Quicklook 检查它。其目的是修改 OS X 上最常见的 shell 程序( bashshcsh )的启动文件,以确保新的 Python 可执行命令所在的目录被添加到PATH 环境变量中的目录列表,以便在找到 Apple 提供的 python 命令之前先找到其中的 python 命令。默认情况下,安装程序运行 Update Shell Profile.command自动为您服务。这应该导致类似这样的结果:

$ cat ~/.bash_profile
# .bash_profile
# ... other stuff

# Setting PATH for Python 2.7
# The orginal version is saved in .bash_profile.pysave
PATH="/Library/Frameworks/Python.framework/Versions/2.7/bin:${PATH}"
export PATH

如果您查看该目录,您应该会看到如下内容:

$ ls -l /Library/Frameworks/Python.framework/Versions/2.7/bin
total 272
lrwxr-xr-x 1 root admin 8 Nov 30 00:49 2to3@ -> 2to3-2.7
-rwxrwxr-x 1 root admin 140 Nov 30 00:30 2to3-2.7*
lrwxr-xr-x 1 root admin 7 Nov 30 00:49 idle@ -> idle2.7
-rwxrwxr-x 1 root admin 138 Nov 30 00:30 idle2.7*
lrwxr-xr-x 1 root admin 8 Nov 30 00:49 pydoc@ -> pydoc2.7
-rwxrwxr-x 1 root admin 123 Nov 30 00:30 pydoc2.7*
lrwxr-xr-x 1 root admin 9 Nov 30 00:49 python@ -> python2.7
lrwxr-xr-x 1 root admin 16 Nov 30 00:49 python-config@ -> python2.7-config
-rwxrwxr-x 1 root admin 33764 Nov 30 00:31 python2.7*
-rwxrwxr-x 1 root admin 1663 Nov 30 00:31 python2.7-config*
lrwxr-xr-x 1 root admin 10 Nov 30 00:49 pythonw@ -> pythonw2.7
-rwxrwxr-x 1 root admin 33764 Nov 30 00:31 pythonw2.7*
lrwxr-xr-x 1 root admin 11 Nov 30 00:49 smtpd.py@ -> smtpd2.7.py
-rwxrwxr-x 1 root admin 18586 Nov 30 00:30 smtpd2.7.py*

新的 python 作为命令可用 python2.7但也有一个指向它的符号链接(symbolic link) python .因为改了PATH环境:

$ echo $PATH
/Library/Frameworks/Python.framework/Versions/2.7/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin

当您键入 python 时作为 shell 中的命令,将首先在 Apple 提供的 python 之前找到该符号链接(symbolic link)。在/usr/bin安装系统提供的用户命令的目录之一(如在 OS X 10.6 上):

$ ls /usr/bin/py*
/usr/bin/pydoc* /usr/bin/python-config* /usr/bin/python2.6-config@
/usr/bin/pydoc2.5@ /usr/bin/python2.5@ /usr/bin/pythonw*
/usr/bin/pydoc2.6@ /usr/bin/python2.5-config@ /usr/bin/pythonw2.5@
/usr/bin/python* /usr/bin/python2.6@ /usr/bin/pythonw2.6@

(请注意,一般来说,您不应尝试修改或删除 /usr/bin 中的文件,因为它们是 OS X 的一部分并由 Apple 管理。)

有很多方法可以在 OS X 上管理多个 Python 安装;检查文件或网络。要记住的一件事是,您始终可以使用所需 python 命令的绝对路径来检查。因此,使用上述修改后的路径,您应该会看到以下行为:

$ /Library/Frameworks/Python.framework/Versions/2.7/bin/python2.7 -c 'import sys;print(sys.version)'
2.7.1 (r271:86882M, Nov 30 2010, 09:39:13)
[GCC 4.0.1 (Apple Inc. build 5494)]
$ python2.7 -c 'import sys;print(sys.version)'
2.7.1 (r271:86882M, Nov 30 2010, 09:39:13)
[GCC 4.0.1 (Apple Inc. build 5494)]
$ python -c 'import sys;print(sys.version)'
2.7.1 (r271:86882M, Nov 30 2010, 09:39:13)
[GCC 4.0.1 (Apple Inc. build 5494)]
$ /usr/bin/python -c 'import sys;print(sys.version)'
2.6.1 (r261:67515, Jun 24 2010, 21:47:49)
[GCC 4.2.1 (Apple Inc. build 5646)]
$ /usr/bin/python2.6 -c 'import sys;print(sys.version)'
2.6.1 (r261:67515, Jun 24 2010, 21:47:49)
[GCC 4.2.1 (Apple Inc. build 5646)]

关于python - 并行安装 Python 2.7.1 和 Apple 提供的 Python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4460367/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com