VPS 如何搭建 Python 环境?

好把,我承认我有点笨,搜索了好多都搜不到合适的,目前的需求是在纯净的 VPS 里(Debian 或CentOS)中安装 Python 所需求的环境,框…
关注者
159
被浏览
33,429

8 个回答

以 Debian 为例。

首先安装 VirtualEnv 环境,头两句一般需要 sudo 或者 su 权限:

sudo apt-get install pip

sudo pip install virtualenv virtualenvwrapper

echo 'source /usr/local/bin/virtualenvwrapper.sh' >> ~/.bashrc

然后建立开发环境

mkvirtualenv webpy

这时候假设原来提示符是 $,现在会变成 (webpy) $ 这样

对于使用之前建立过的 virtualenv 环境,用 workon <name> 比如 workon webpy

然后用 pip 安装相关的包

pip install web.py flup

碰到什么问题,评论在下面

匿名用户说了,应该用 virtualenv(或用起来更方便的 pyenv、virtualenvwrapper),这点在你要部署多个应用的时候特别重要,可以确保你的不同应用之间依赖是隔离的。

除此以外,很多发行版的 Python 版本是很老的(其中以 RedHat/CentOS 为甚),一般 Web 应用用 Python 2.7 比较多。这种情况下建议自己安装不同版本的 Python,然后在创建 virtualenv 的时候指明需要的 Python 版本。

virtualenv -p /path/to/your/python/bin/python venv

# or

mkvirtualenv -p /xx/pythons/CPython/2.7.5/bin/python app-name

如果使用了 pyenv 就更简单的(需要安装 pyenv-virtualenv 插件):

pyenv install 2.7.5
pyenv virtualenv 2.7.5 myapp
pyenv shell myapp  # switch to the virtualenv

在 Web 应用部署方面,推荐用

Gunicorn - Python WSGI HTTP Server for UNIX

做 WSGI 服务器,Gunicorn 在 virtualenv 中运行并监听一个端口,然后前端用 Nginx 之类的服务器反向代理回来。如果需要使用异步网络模式(比如聊天室或实时推送应用),可以用

gevent: A coroutine-based network library for Python

来运行 Gunicorn,具体参考文档。FastCGI (flup)似乎不是一个很好的选择。