cer*_*ros 40 virtualenv python-sphinx
我想使用virtualenv而不是我的机器上的本机环境来构建html文档.
我已经进入了virtualenv,但是当我运行时,make html
我得到错误,说模块无法导入 - 我知道错误是由于模块在我的本机环境中不可用.如何在搜索文档时指定应该使用哪个环境(例如virtualenv)?
mig*_*var 54
Mathijs正确地发现了这个问题.
$ which sphinx-build
/usr/local/bin/sphinx-build
Run Code Online (Sandbox Code Playgroud)
我解决了在虚拟环境中安装sphinx本身的问题.
随着环境激活:
$ source /home/migonzalvar/envs/myenvironment/bin/activate
$ pip install sphinx
$ which sphinx-build
/home/migonzalvar/envs/myenvironment/bin/sphinx-build
Run Code Online (Sandbox Code Playgroud)
看起来很整洁.
小智 47
这里的问题是make html
使用sphinx-build
命令作为普通的shell命令,它明确指定在文件的第一行使用哪个Python解释器(即.#!/usr/bin/python
).如果以这种方式调用Python,它将不会使用您的虚拟环境.
一个快速而肮脏的方法是通过sphinx-build
从解释器显式调用Python脚本.在此Makefile
,可以通过更改SPHINXBUILD
为以下内容来实现:
SPHINXBUILD = python <absolute_path_to_sphinx-build-file>/sphinx-build
Run Code Online (Sandbox Code Playgroud)
如果您不想修改,Makefile
也可以从命令行传递此参数,如下所示:
make html SPHINXBUILD='python <path_to_sphinx>/sphinx-build'
Run Code Online (Sandbox Code Playgroud)
现在,如果您make build
在VirtualEnv环境中执行,它应该在您的环境中使用Python解释器,您应该看到Sphinx找到它需要的所有好东西.
我很清楚这不是一个简洁的解决方案,因为Makefile
这样不应该假设该sphinx-build
文件的任何特定位置,因此对于更合适的解决方案的任何建议都受到热烈欢迎.
归档时间: |
|
查看次数: |
7253 次 |
最近记录: |