云服务器Python环境怎么配置?从裸机到跑通项目,照着抄就行
刚买了台云服务器,想把本地跑得好好的Python项目搬上去,结果一登录就懵:系统自带Python是3.8甚至3.6,pip install卡成PPT,装完依赖还互相打架。更气人的是,本地能跑,公网访问就是不通。这篇就写给刚上手云服务器的站长、开发者和中小企业朋友,按步骤把Python环境配好,少走点弯路。
下面以Ubuntu 22.04为例,CentOS也大同小异,命令换成yum/dnf就行。别问我是怎么知道的,先把系统基础打牢。
第一步:登录服务器,更新系统并装基础依赖
ssh root@你的服务器IP
apt update && apt upgrade -y
apt install -y build-essential zlib1g-dev libssl-dev libffi-dev libsqlite3-dev wget curl git
这些编译依赖别跳过,后面装某些Python包时会用到,缺了就会报一堆红字。
第二步:用Miniconda隔离Python,别硬折腾系统自带的
系统Python是给apt等工具用的,乱升级容易把系统搞崩。推荐Miniconda,下载快、环境隔离干净:
wget https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/Miniconda3-latest-Linux-x86_64.sh
bash Miniconda3-latest-Linux-x86_64.sh -b -p $HOME/miniconda3
$HOME/miniconda3/bin/conda init bash
source ~/.bashrc
conda create -n py311 python=3.11 -y
conda activate py311
看到命令行前面变成(py311),就说明环境切过去了。每个项目建一个环境,后面能省很多事。
第三步:配置pip国内源,装包速度起飞
mkdir -p ~/.pip
cat > ~/.pip/pip.conf <<'EOF'
[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
trusted-host = pypi.tuna.tsinghua.edu.cn
EOF
pip install --upgrade pip
pip install requests
能秒装requests,说明源生效了。不然默认源下个包能等到你怀疑网络。
第四步:上传项目、安装依赖并测试
cd /www/myproject
pip install -r requirements.txt
python app.py
如果是Flask项目,记得app.run(host='0.0.0.0', port=5000),然后在云厂商控制台的安全组里放行5000端口。本地curl 127.0.0.1:5000通、外网打不开,十有八九是安全组没开。
第五步:让程序后台跑起来
nohup python app.py > app.log 2>&1 &
tail -f app.log
临时测试够用了。正式项目建议上gunicorn+systemd,或者至少用screen/tmux,别让SSH一断程序就没了。
避坑提醒:新手最容易踩的3个坑
第一,上来就删系统Python或者强行升级,Ubuntu的apt全靠它,搞崩了修复很麻烦;第二,所有项目全局pip install,今天跑A明天跑B,版本冲突到怀疑人生;第三,程序跑起来了但安全组/防火墙没放行端口,本地通、外网不通,别问我是怎么知道的。老老实实虚拟环境+开端口,能省一晚上。
解决方案推荐
如果服务器还没买,或者想要国内访问快、带点防御的机器,可以看看沐雨云



这一切,似未曾拥有