当前位置: 首页 > 面试题库 >

与Apple提供的Python并排安装Python 2.7.1

邹华皓
2023-03-14
问题内容

我刚刚从Python.org下载了Python
2.7.1 DMG 。我已经看到了获取ActivePython的建议,但是我更喜欢Python.org的建议。

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

我不妨先自己尝试一下这些方法,但是我是Mac的新手。Python是非常复杂的安装,需要将文件写入不同的文件夹并配置OS设置PATH。如果我想回到干净的状态,TrashMe或AppCleaner对于卸载Python可能不是很有效。因此,我想对我的上述问题获得清晰的见解。


问题答案:

如果您在使用python.org安装程序时未更改默认软件包集,则从命令行键入python应运行新安装的Python
2.7。(运行安装程序后,您需要启动新的终端会话才能看到此信息。)当前OS
X的python.org安装程序会在Applications目录中创建一个文件夹,该文件夹的名称Python m.n取决于Python版本。如果您查看/Applications/Python 2.7,将会看到一个名为的文件Update Shell Profile.command。这是一个shell脚本;您可以在编辑器中或使用Quicklook对其进行检查。它的目的是修改在OS
X中最常见的外壳程序启动文件(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但也有一个符号链接到python。由于PATH环境已更改:

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

当您python在外壳程序中键入命令时,该符号链接将首先在Apple提供的,python位于/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)]


 类似资料:
  • 首先,当你的手机上有应用程序,并且这个应用程序在play store上有更新时,google只返回更新的部分代码而不是整个包(例如3毫克而不是8毫克,这是整个包的大小)。我研究并发现,在android端,google play提取本地应用程序并合并从play store下载的更新文件,生成新的apk,然后安装新的apk和更新。假设play store没有apk keystore来签署新的apk,但

  • 我一直在尝试在我的Windows 64位笔记本电脑上安装Python包,因为我想使用的另一个包需要它。这个包还需要Python3.6,因此在我的计算机上,我有Python2.7和3.6,并使用和来区分两者。在执行时,一切都会正常安装,但在使用时,我会出现以下错误: 我尝试通过如下方式克隆存储库来解决此问题: 然后给出以下错误 然后,我通过在 简单地让库成为64位的库 但这再次给出了一个错误: 在这

  • 本文翻译自Ceph官方文档,括号内的内容为注释。 安装 ceph-helm 项目可让你在Kubernetes 环境以托管方式部署Ceph . 本文档假定Kubernetes 环境已经可用。 当前的限制 Public网络和Cluster网络必须是同一个网络 如果 storage class 用户标识不是admin, 则必须在Ceph集群中手动创建用户并在Kubernetes中创建其secret ce

  • 我的应用程序有一个自动更新功能,下载一个APK,当下载完成时,intent.view_action打开应用程序,让用户安装下载的APK 这适用于所有<24的设备 现在有了Android24,显然我们不允许再用File:///启动意图了,在谷歌搜索之后,建议使用文件提供程序 新代码:

  • 提交到Apple App Store 将我们的应用扔到apple脸上的时候终于来临了!在此之前,请一定务必要数一下 App Store Review Guideline — 如果不遵从这些条款的话,你的应用会被拒。 注意:如果没有制作好你自己的应用的话,不要尝试下面的步骤 — 你不能上传本书的任何范例 想要上传应用到App Store的话你需要创建一个App Store Listing,当然还有上

  • 问题内容: 在setup.py两个选项,并混淆了我。根据此站点,使用创建到site-packages目录的特殊链接。 人们建议我使用全新安装,并且对安装文件进行任何更改之后。 任何人都可以阐明这些命令的用法吗? 问题答案: 用于安装(通常是第三方)您不会自行开发/修改/调试的软件包。 对于您自己的东西,您想先安装您的软件包,然后能够频繁编辑代码 而 不必每次都重新安装该软件包-正是这样:安装软件包

  • 因为 Python 是跨平台的,它可以运行在 Windows、Mac 和各种 Linux/Unix 系统上。目前,Python 有两个版本,一个是 2.x 版,一个是 3.x版,这两个版本是不兼容的。本草根安装的是 3.6.1 版本的。 至于在哪里下载,草根我建议大家最好直接官网下载,随时下载下来的都是最新版本。官网地址:https://www.python.org/ 1、windows 系统下安

  • 本文向大家介绍Python pip 安装与使用(安装、更新、删除),包括了Python pip 安装与使用(安装、更新、删除)的使用技巧和注意事项,需要的朋友参考一下 pip 是 Python 包管理工具,该工具提供了对Python 包的查找、下载、安装、卸载的功能。 pip检测更新 命令:pip list –outdated pip升级包 命令:pip install --upgrade pac