sphinx-quickstart ImportError 没有名为 sphinx.quickstart 的模块

sphinx-quickstart ImportError no module named sphinx.quickstart

我正尝试在 CentOS-7 虚拟机上 运行 python sphinx,使用虚拟 python 3.6.1 环境。

步骤:
创建 python3 个虚拟环境

$ pyvenv myapp
$ source myapp/bin/activate

安装 myproj 所需的包

$ pip install -r requirements.txt

安装 sphinx

$ pip install sphinx sphinx-autobuild

尝试 运行 快速入门:

$ sphinx-quickstart
File "/bin/sphinx-quickstart", line 7 in <module>
  from sphinx.quickstart import main
ImportError: No module named sphinx.quickstart

pip freeze 表示我运行正在使用以下版本:

Sphinx==1.6.3
sphinx-autobuild==0.7.1

pyvenv 已弃用。见 note in the Python library docs:

Note: The pyvenv script has been deprecated as of Python 3.6 in favor of using python3 -m venv to help prevent any potential confusion as to which Python interpreter a virtual environment will be based on.

而是先确保您尚未激活虚拟环境。然后发出命令:

python3 -m venv myapp

你的其余步骤看起来没问题。

我解决了这个问题。我是 python 和 pyvenv 的新手,显然它在虚拟环境之外找到了一个 "universally" 安装版本的 sphinx,并且它抢占了安装在 virtualenv 中的版本。我通过指定完整路径解决了这个问题:

/full-path-to-myapp/myapp/bin/sphinx-quickstart