操作前说明 #
运行示例代码前,建议先确认 Python 版本。旧文章中可能包含 Python 2 写法,如果当前环境是 Python 3,需要注意 print、字符串编码、包安装方式和模块路径差异。
原始操作记录 #
有一些 VPS 默认只安装了 python,并未安装pip,用起来有些不便,特此记录一下如何安装pip:
wget https://bootstrap.pypa.io/get-pip.py
python2 get-pip.py
apt install python3-distutils
python3 get-pip.py安装 python3-distutils 是为了解决 python3 执行 get-pip.py 时提示 ModuleNotFoundError: No module named 'distutils.util' 的错误。
这样就安装好了 pip2 和 pip3,如果需要更改 pip 的源,可以参考《更改pip使用阿里的源》
然后可以用一条命令更新一下所有已经安装的 pip 包:
pip2 freeze --local |grep -v '^-e' |cut -d = -f 1 |xargs -n1 pip2 install -U
pip3 freeze --local |grep -v '^-e' |cut -d = -f 1 |xargs -n1 pip3 install -U如果需要配置虚拟环境,python2 就安装 virtualenv:
pip2 install virtualenvpython2 的虚拟环境配置:
virtualenv [虚拟环境名称]
virtualenv venv
#如果不想使用系统的包,加上–no-site-packeages参数
virtualenv --no-site-packages 创建路径名python3 的虚拟环境配置:
python3 -m venv [虚拟环境名称]激活和退出虚拟环境:
source ./bin/activate
deactivate关键理解 #
这类笔记最重要的不是把命令背下来,而是弄清楚它解决的是什么问题、依赖什么环境、执行后会改变什么。以后再次遇到类似情况时,可以先根据标题判断问题方向,再对照原始命令确认是否适合当前系统版本。
如果命令中包含具体路径、网卡名、磁盘名、进程名、IP 地址、端口号、用户名称或软件版本,实际执行时都要替换成自己环境中的真实值。不要直接照抄示例里的占位内容。
验证方法 #
验证时可以先准备一个最小示例,把输入、输出和异常情况都跑一遍。对于脚本类工具,建议先在临时目录或测试文件上执行,确认结果正确后再处理真实数据。
如果验证结果和预期不一致,建议先不要继续叠加更多修改,而是回到第一步检查环境差异。很多问题并不是命令本身错误,而是当前系统版本、软件版本、路径名称或权限条件与原记录不一致。
注意事项 #
涉及文件批量处理、系统命令调用、进程池线程池或第三方包时,要特别注意异常处理和边界条件,避免脚本中途失败后留下半成品数据。
对于旧文章中的命令,还要考虑软件版本变化。浏览器 flags、Linux 发行版默认配置、Python 包版本、Windows 系统设置都会随着时间调整。再次使用时,最好把这篇记录当成排查思路,而不是绝对固定的唯一答案。
小结 #
这篇记录可以作为一个快速索引:先看标题确认问题类型,再看原始命令找到核心操作,最后结合验证方法确认是否真正生效。这样既保留了早期备忘的简洁性,也能减少以后重复排查的时间。