[英]Installing Python 3.3 on mac
我使用了http://www.python.org/download中的安装程序。 安装似乎成功,它删除了我的Applications目录中的Python 3.3文件夹。 我运行了它包含的“Update Shell Profile.command”脚本,它将/Library/Frameworks/Python.framework/Versions/3.3/
添加到我的路径中。 然而该目录中的Python
版本似乎是2.7.5。
/Library/Frameworks/Python.framework/Versions/3.3 ls
Headers Python Resources bin include lib share
/Library/Frameworks/Python.framework/Versions/3.3 Python --version
Python 2.7.5
另外, ls /usr/bin | grep python
ls /usr/bin | grep python
显示:
python
python-config
python2.5
python2.5-config
python2.6
python2.6-config
python2.7
python2.7-config
pythonw
pythonw2.5
pythonw2.6
pythonw2.7
我错过了什么?
这里有很多问题。
首先,您不应该运行框架的可执行文件Python
。 框架可执行文件并不意味着可以运行,而这恰好只是巧合而已。
具有要运行的程序的框架将它们放在某个bin
目录中 - 在框架之外(如/usr/local/bin
)或在其中(如/Library/Frameworks/Foo.framework/Versions/XY/bin
)。 默认情况下,Python 3.3执行后者。
bin
目录中的程序都是小写的,不是大写的,所以没有Python
可以运行。
接下来,在Mac上以及除Windows之外的世界上几乎所有其他平台上,当前工作目录不是PATH
一部分。 因此,当您键入Python --version
,会在PATH
上的某处找到Python
。 您碰巧在当前目录中拥有该名称的可执行文件这一事实并不意味着什么(除了它让您感到困惑)。 如果你真的想要运行那个文件(但是你真的没有),你必须编写./Python
。
此外,我们实在没有很好的理由cd
到摆在首位的框架目录。 当然,你可以从那里运行你想要的文件,使用适当的相对路径名: bin/python3
,但你不想这样做。
接下来,在安装Python 3.3之前,您可能正在使用已运行的shell。 Update Shell Profile.command
脚本可用于将Python 3.3添加到PATH
以用于所有将来的shell,或者使用该PATH
生成新的shell,但无论哪种方式它都不会影响任何现有的 shell。 要解决这个问题,你只需要启动一个新的shell。
下一个:
ls /usr/bin | grep python
ls /usr/bin | grep python
显示:
/usr/bin
目录仅适用于属于OS的程序。 您自己安装的程序将放在/usr/local/bin
或PATH上的其他位置。 Python安装程序有一个选项(虽然它可能是隐藏的,我不记得了......)将启动器放在/usr/local/bin
。 它还有一个选项 - 您选择 - 将其框架bin
目录放到PATH
。 但不管怎样,它永远不会在/usr/bin
放任何东西。
最后,即使在安装Python 3.3之后,默认的python
仍然是2.7。 python3
和python3.3
将是3.3,但python
和python2.7
将是2.7。 有关基本原理,请参阅PEP 394 - 类Unix系统上的“python”命令 。 但是简短的版本是,各种代码依赖于Python 2.7并且与可能安装在系统上的3.3不兼容,并且您不希望所有代码都停止工作。
所以,把它们放在一起:
python3 --version
。 您可能需要考虑使用virtualenv:
$ /Library/Frameworks/Python.framework/Versions/3.3/bin/python3 -m venv ~/myvenv
$ source ~/myvenv/bin/activate
(myvenv) $ curl https://bootstrap.pypa.io/get-pip.py | python
(myvenv) $ deactivate
$ source ~/myvenv/bin/activate
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.