我的默认Python 2.6.1安装为/usr/bin/python
,并安装了Python 3.1.2,安装在/usr/local/bin/python3.1
。考虑到我只使用3.x语法,使用符号链接替换默认解释器(2.6)和3.1(包括python-config)(并删除旧的Python二进制文件)是否安全?或者是为了某种目的我不知道的依赖于2.x版本的系统?替换MacOS X默认Python解释器安全吗?
回答
如果你只使用Python 3,开始你的脚本:
#! /usr/bin/env python3.1
你会使用正确的版本,没有doinking有关系统。
编辑:BTW这个想法是由Python文档建议的。每个脚本将运行他们所依赖的Python版本。由于Python 3不是向后兼容的,因此用一个会破坏其他实用程序可能依赖的脚本来替换Python可执行文件似乎很危险。
除非您急需存储,否则不要替换/删除任何二进制文件。在这种情况下,去除它们的里程也很少。
你可以简单地使3.1默认使用:
defaults write com.apple.versioner.python Version 3.1
还有其他的方法,以确保您使用3.1在默认情况下,我没有用他们虽然。
export VERSIONER_PYTHON_VERSION=3.1
是的,但我需要“python”命令来执行python3.1 ...我试过你的解决方案,没有一个(显然是恕我直言)改变了/ usr/bin/python二进制文件。 – 2010-09-16 02:12:34
'defaults'技巧只能在10.6以及AFAICT中使用,仅适用于Apple提供的/ usr/bin中的Pythons 2.5和2.6。 (是的,这个手册页表明它适用于3.0,我猜测这个版本的计划在某一时刻是以10.6版本发布的,但没有发布)。而且,再次,在转换的这一点上让'python'引用一个Python 3实例是一个非常糟糕的主意。 'python3'应该被用作泛型引用。 – 2010-09-16 03:45:22
你不能安全地替换系统提供的python。我无法找到适合您的Mac专用引用,但是一些最新的Python版本不能向后兼容......许多依赖于较旧版本Python的脚本不能在升级后的python上运行。 OS X预装了Python,因为它依赖于它。
尝试使用VirtualEnv代替。
更新:刚刚遇到来自macports的python-select可能会解决您的问题。
一般来说,MacPorts'python_select'只适用于安装了MacPorts的Pythons,虽然它在/ usr/bin(10.5为2.5和2.5,对于10.6为2.5)中使用默认Apple提供的Python。无论如何,只使用python_select进行Python框架安装通常是不够的;您需要小心地将默认框架bin包含在PATH中,以执行为该Python实例安装的脚本(假定您没有使用另一个Distutils安装方案(如--user))。 – 2010-09-16 04:00:22
- 1. 网站使用默认的python解释器而不是安装virtualenv解释器
- 2. 默认python解释器在pyinstaller(pygame)
- 3. 如何使用Python 3.5的默认Python解释器
- 4. 替换default默认解决方法()ginv
- 5. 在mysql中,“解释...”总是安全吗?
- 6. 默认解释器总是重置
- 7. Python C API使用WinPython Python解释器代替标准Python解释器
- 8. 替换默认的STL分配器
- 9. 如何替换select2默认微调器?
- 10. 在线c#解释器安全问题
- 11. 熊猫替换默认值
- 12. 替换默认的MessageBox
- 13. PHPMailer:替换默认messageID
- 14. 如何将Python解释器重置为“安全”状态?
- 15. 默认的Python编译器
- 16. 从python获取全局解释器锁
- 17. 可以在安装级别默认启用java安全管理器吗?
- 18. Apache安全默认安装权限
- 19. Rails 4 x Bootstrap 3 Datetimepicker:用datetimepicker替换默认的datetime_select
- 20. Homebrew macOS - Python安装
- 21. 任何人都可以解释默认括号的含义吗?
- 22. macOs字体是否安全?
- 23. 在IIS 7.5中重命名默认网站安全吗?
- 24. 通过引用访问默认参数安全吗?
- 25. 使用sencha touch默认动画如Slide和Fade安全吗?
- 26. 当提供JavaScript文件时,默认情况下gzip安全吗
- 27. MySQL安全模式是默认模式吗?
- 28. 更改XCode 6.1(Yosemite)中的默认Python 2.x版本
- 29. 替换默认安卓媒体卷吐司
- 30. CoreSpotlight默认索引线程安全
更好的选择是使用'python3'而不是'python3.1'。然后,当Python 3.2,3.3等出来并安装,你不必回去,并记住改变这个和其他脚本。 – snapshoe 2010-09-26 18:41:10