El Capitan和OS X Server 5.0默认使用Python 2.7。 我已经安装了Python 3.5,但是如何让OS X Server 5.0在不破坏El Capitan对Python 2.7的依赖的情况下将其用于wsgi呢?
基本上,我想Mac OS X Server 5.0使用Python 3.5而不是Python 2.7。
Apple支持论坛提供了一个(已接受的)答案: https : //discussions.apple.com/thread/7331263? start =0& tstart =0
我没有必须使用当前的Server 5.0来完成这个工作,但是之前已经使用Server 4.x(我现在使用Linux虚拟机来实现这种目的,但是解决scheme和OS X Server完全一样)。
首先绝对不要尝试更新任何苹果包括的软件,如Apache的内置组件,在你的情况下Python。 尽pipe可能做到这一点,但不仅如此,苹果公司通过增加新的安全措施来阻止他们的“官方”软件在您不知情的情况下遭到修改/黑客攻击,从而难以做到这一点,因此尝试这种方法使得您很可能会破坏某些东西特别是Server.app和这些组件之间的集成,也使安装未来官方Apple更新可能会失败或者降级你所做的事情。
所以,正如我上面所暗示的,我已经使用了一个解决scheme,并且不会导致上述问题 – 至less在Python方面。 你需要采取的做法是把苹果公司的Python单独放好,而是专门安装一个单独的拷贝用于你自己的网站,事实上,如果你要运行多个网站 – 每个网站都需要使用Python,你将有单独的Python副本每个站点,因为各种基于Python的项目依赖于特定的Python版本是相当普遍的。 所以常见的是,有一个专门用于做这个称为VirtualEnv的工具。
见http://docs.python-guide.org/en/latest/dev/virtualenvs/
这个工作的方式是 –
- 你安装VirtualEnv
- 您运行VirtualEnv并为您的网站创build一个虚拟环境
- 你将你需要的特定的Python版本安装到你的虚拟环境中
- 您将所需的所有Python模块安装到该虚拟环境中
- 您将Python代码安装到该虚拟环境中
然后,您的网站conf文件中有适当的条目在该虚拟环境中运行。
通过采用这种方法,可以同时运行多个不同版本的Python,而不会让它们相互冲突。
注意:要在OS X中安装VirtualEnv,请执行以下操作。
sudo easy_install virtualenv
请注意,有很多方法可以安装virtualenv软件包。 我会用点子:
pip install virtualenv
pip自带Python 2.7.9及更高版本,还可以用来将更多的软件包添加到您的virtualenvs。 如果你没有pip ,你可以很容易地安装它:
curl -o get-pip.py https://bootstrap.pypa.io/get-pip.py python get-pip.py