繁体   English   中英

在mac上安装Python 3.3

[英]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。 python3python3.3将是3.3,但pythonpython2.7将是2.7。 有关基本原理,请参阅PEP 394 - 类Unix系统上的“python”命令 但是简短的版本是,各种代码依赖于Python 2.7并且与可能安装在系统上的3.3不兼容,并且您不希望所有代码都停止工作。


所以,把它们放在一起:

  • 在Terminal.app中创建一个新选项卡或窗口。
  • 输入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

http://docs.python-guide.org/en/latest/dev/virtualenvs/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM