我已经在我的Mac中安装了python 3.2。在我运行/Applications/Python 3.2 /更新Shell Profile.command和后,我感到困惑的是,当我在终端输入python -V它说Python 2.6.1,我该如何更改默认的python版本?如何更改默认的python版本?
回答
这可能是向后兼容的理想选择。
Python3打破向后兼容性,调用'python'的程序可能期望python2。你可能有很多程序和脚本,你甚至都没有意识到哪些期望python = python2,并且改变它会破坏这些程序和脚本。
您可能正在寻找的答案是您不应该更改此。
但是,您可以在您的shell中创建一个自定义别名。你这样做的方式取决于壳,但也许你可以做alias py=python3
如果你困惑于如何启动最新版本的Python,它至少在Linux上的情况是python3
离开你python2
安装完好(由于上述兼容性原因);因此您可以使用python3
命令启动python3。
这是有用的信息,但问题是“我怎样才能更改默认的Python版本“。我们可以添加一些东西来帮助人们试图做到这一点? – dmeyerson 2016-09-02 14:27:52
根据快速谷歌搜索,此更新仅适用于您打开的当前shell。它可以通过键入python3来解决,因为mac和linux足够类似于这样的事情。 Link to the result of google search.
此外,正如ninjagecko所言,大多数程序还没有更新到3.x,所以将默认python设置为3.x会破坏应用程序中使用的许多python脚本。
更改“默认”的Python通过把它提前了系统的Python的路径,例如:
export PATH=/usr/local/bin:$PATH
我的假设是,通过这样做你可以在Mac上破坏某些东西。由于有很多使用“python”别名的程序和脚本。如果突然间,由于PATH的优先级改变,他们开始指向Python3而不是Python2--这可能会破坏某些东西。潜在的整个操作系统......这是我的假设,但没有经过测试。 – Aivoric 2015-07-31 08:35:04
任何系统软件都将使用Python提供的系统的完整路径。 – 2015-07-31 18:52:50
在Mac OS X上使用的python.org安装程序,你显然有,你需要用python3
调用Python 3,而不是python
。这是目前为Python 2版本保留的。您也可以使用python3.2
来专门调用该版本。
$ which python
/usr/bin/python
$ which python3
/Library/Frameworks/Python.framework/Versions/3.2/bin/python3
$ cd /Library/Frameworks/Python.framework/Versions/3.2/bin/
$ ls -l
total 384
lrwxr-xr-x 1 root admin 8 Apr 28 15:51 [email protected] -> 2to3-3.2
-rwxrwxr-x 1 root admin 140 Feb 20 11:14 2to3-3.2*
lrwxr-xr-x 1 root admin 7 Apr 28 15:51 [email protected] -> idle3.2
-rwxrwxr-x 1 root admin 138 Feb 20 11:14 idle3.2*
lrwxr-xr-x 1 root admin 8 Apr 28 15:51 [email protected] -> pydoc3.2
-rwxrwxr-x 1 root admin 123 Feb 20 11:14 pydoc3.2*
-rwxrwxr-x 2 root admin 25624 Feb 20 11:14 python3*
lrwxr-xr-x 1 root admin 12 Apr 28 15:51 [email protected] -> python3.2-32
lrwxr-xr-x 1 root admin 16 Apr 28 15:51 [email protected] -> python3.2-config
-rwxrwxr-x 2 root admin 25624 Feb 20 11:14 python3.2*
-rwxrwxr-x 1 root admin 13964 Feb 20 11:14 python3.2-32*
lrwxr-xr-x 1 root admin 17 Apr 28 15:51 [email protected] -> python3.2m-config
-rwxrwxr-x 1 root admin 25784 Feb 20 11:14 python3.2m*
-rwxrwxr-x 1 root admin 1865 Feb 20 11:14 python3.2m-config*
lrwxr-xr-x 1 root admin 10 Apr 28 15:51 [email protected] -> pythonw3.2
lrwxr-xr-x 1 root admin 13 Apr 28 15:51 [email protected] -> pythonw3.2-32
-rwxrwxr-x 1 root admin 25624 Feb 20 11:14 pythonw3.2*
-rwxrwxr-x 1 root admin 13964 Feb 20 11:14 pythonw3.2-32*
如果您也从python.org安装一个Python 2,这将有(除2to3的)没有重叠的文件名类似的框架bin目录。
$ open /Applications/Python\ 2.7/Update\ Shell\ Profile.command
$ sh -l
$ echo $PATH
/Library/Frameworks/Python.framework/Versions/2.7/bin:/Library/Frameworks/Python.framework/Versions/3.2/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin
$ which python3
/Library/Frameworks/Python.framework/Versions/3.2/bin/python3
$ which python
/Library/Frameworks/Python.framework/Versions/2.7/bin/python
$ cd /Library/Frameworks/Python.framework/Versions/2.7/bin
$ ls -l
total 288
-rwxrwxr-x 1 root admin 150 Jul 3 2010 2to3*
lrwxr-x--- 1 root admin 7 Nov 8 23:14 [email protected] -> idle2.7
-rwxrwxr-x 1 root admin 138 Jul 3 2010 idle2.7*
lrwxr-x--- 1 root admin 8 Nov 8 23:14 [email protected] -> pydoc2.7
-rwxrwxr-x 1 root admin 123 Jul 3 2010 pydoc2.7*
lrwxr-x--- 1 root admin 9 Nov 8 23:14 [email protected] -> python2.7
lrwxr-x--- 1 root admin 16 Nov 8 23:14 [email protected] -> python2.7-config
-rwxrwxr-x 1 root admin 33764 Jul 3 2010 python2.7*
-rwxrwxr-x 1 root admin 1663 Jul 3 2010 python2.7-config*
lrwxr-x--- 1 root admin 10 Nov 8 23:14 [email protected] -> pythonw2.7
-rwxrwxr-x 1 root admin 33764 Jul 3 2010 pythonw2.7*
lrwxr-x--- 1 root admin 11 Nov 8 23:14 [email protected] -> smtpd2.7.py
-rwxrwxr-x 1 root admin 18272 Jul 3 2010 smtpd2.7.py*
我使用OS X 10.7.5和Python 3.4.2。如果你键入python3
以及你想要运行什么,它将使用python 3运行它。例如 pyhton3 test001.py
。我运行了一个名为test001的测试程序。我希望这有帮助。
老问题,但也可以使用:
virtualenv --python=python3.5 .venv
source .venv/bin/activate
当然,但如果您没有可执行文件(例如python3.5),此解决方案无法正常工作。 – 2016-11-23 13:22:56
我认为这涵盖了http://stackoverflow.com/questions/5506110/is-it-possible-to-install-another-version-of-python-to-virtualenv – FreshPow 2016-11-28 22:25:14
- 1. Python如何将默认版本从python 3.5更改为python 2.7
- 2. 如何更改默认minitest版本
- 3. 如何更改EMACS 23使用的默认python版本?
- 4. 更改Android Studio的默认sdk版本
- 5. Butchered my python - 如何更改多个安装的默认Python版本?
- 6. 更改Ned Batchelder的覆盖工具的默认版本的python
- 7. 如何更改默认版权模板
- 8. 更改默认版本Swagger位置
- 9. ISPConfig更改默认版本PHP
- 10. 如何更改默认的python路径?
- 11. 更改XCode 6.1(Yosemite)中的默认Python 2.x版本
- 12. 在Debian中更改默认的python版本 - 库导入问题
- 13. 更改默认的Python版本,从2.4到2.6
- 14. 如何更改我的项目的默认gemset和ruby版本?
- 15. 如何在我的Mac Snow Leopard中更改默认的Python版本?
- 16. 如何更改使用的默认Rails版本?
- 17. 如何更改Clojure或Lein的Clojure默认版本?
- 18. 如何使用Selenium webdriver与Ruby更改Firefox的默认版本?
- 19. 如何更改启动的默认xcode版本...?
- 20. 如何将PHP的默认版本从4更改为5?
- 21. 如何将pip3的默认版本从python3.5更改为python3.6
- 22. 如何将Gurobi默认Python版本2.7.8更改为我已经安装的Python版本3.5 Windows64(Spyder中)
- 23. 将默认Python版本从2.6.6更改为2.7,并配置django
- 24. 添加参考时如何更改“特定版本”默认值?
- 25. 如何在Anaconda中将默认Python版本从3.5更改为2.7
- 26. 如何更改Enthought Canopy的Python版本?
- 27. pip与默认的python版本OSX
- 28. uiswitch默认文本更改
- 29. 如何将默认的maven surefire插件更改为更高版本?
- 30. 我应该将我的默认Python版本更改为最新的Python版本吗?
相关:http://stackoverflow.com/a/18425592/939986 – 2015-12-04 18:38:50