重建Virtualenv

我在 Termux开发环境 采用 Python virtualenv 提供 Sphinx文档 运行,但是最近的 termux 升级软件包之后破坏了 Virtualenv 提示错误:

Traceback (most recent call last):
  File "/data/data/com.termux/files/home/venv3/bin/sphinx-build", line 5, in <module>
    from sphinx.cmd.build import main
ModuleNotFoundError: No module named 'sphinx'
make: *** [Makefile:19: html] Error 1

解决方法是重建 Python virtualenv

  • 之前已经为自己的项目 cloud-atlas 生成过软件包列表:

生成 Python virtualenv 所使用Python软件包依赖列表 requirements.txt
pip freeze > source/requirements.txt

所以只要重建 Python virtualenv 然后依据这个 requirements.txt 就可以恢复

备注

requirements.txt 中所有安装依赖包是指定版本的,如果时间较久,则版本会比较older,可以修改一下这个文件,去除掉版本指定。

  • 重建virtualenv:

    cd ~
    python3 -m venv venv3
    . ~/venv3/bin/activate
    
  • 重新安装软件包:

根据requirements.txt恢复virtualenv依赖模块包
pip install -r source/requirements.txt

参考