Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/email/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 从conf.py安装扩展_Python_Python Sphinx_Importerror_Easy Install - Fatal编程技术网

Python 从conf.py安装扩展

Python 从conf.py安装扩展,python,python-sphinx,importerror,easy-install,Python,Python Sphinx,Importerror,Easy Install,我尝试构建文档并使用,但默认情况下未安装此扩展-因此我通过conf.py提供它,使用以下方法: try: import sphinxjp.themes except ImportError: from setuptools.command import easy_install easy_install.main( ["-U","sphinxjp.themes.basicstrap"] ) import sphinxjp.themes extensions +=

我尝试构建文档并使用,但默认情况下未安装此扩展-因此我通过
conf.py
提供它,使用以下方法:

try:
    import sphinxjp.themes
except ImportError:
    from setuptools.command import easy_install
    easy_install.main( ["-U","sphinxjp.themes.basicstrap"] )
    import sphinxjp.themes

extensions += ['sphinxjp.themes.basicstrap']
html_theme = 'basicstrap'

html_theme_options = {
  'bootstrap_version': '3',
  'noresponsive': False,
  'inner_theme': True,
  'inner_theme_name': 'bootswatch-yeti',
}
但问题如下:

  • 如果找不到扩展,Python将安装该扩展;如果存在扩展,Python将跳过该扩展
  • 但是在这里,如果它不存在,python将安装它,并继续执行文件,就像它没有安装它一样
  • 然后我必须再次运行该文件,以便python可以跳过安装过程并构建文档
  • 如何强制python在安装扩展之后加载它

    我得到这个错误:

    Running Sphinx v1.3b2
    Searching for sphinxjp.themes.basicstrap
    Reading https://pypi.python.org/simple/sphinxjp.themes.basicstrap/
    Best match: sphinxjp.themes.basicstrap 0.4.1
    Downloading https://pypi.python.org/packages/source/s/sphinxjp.themes.basicstrap
    /sphinxjp.themes.basicstrap-0.4.1.tar.gz#md5=bac7d878391a3dfd663b51e2311d5795
    Processing sphinxjp.themes.basicstrap-0.4.1.tar.gz
    Writing c:\users\abdelo~1\appdata\local\temp\easy_install-ndzj8s\sphinxjp.themes
    .basicstrap-0.4.1\setup.cfg
    Running sphinxjp.themes.basicstrap-0.4.1\setup.py -q bdist_egg --dist-dir c:\use
    rs\abdelo~1\appdata\local\temp\easy_install-ndzj8s\sphinxjp.themes.basicstrap-0.
    4.1\egg-dist-tmp-pdyuqk
    Adding sphinxjp.themes.basicstrap 0.4.1 to easy-install.pth file
    
    Installed c:\python27\lib\site-packages\sphinxjp.themes.basicstrap-0.4.1-py2.7.e
    gg
    Processing dependencies for sphinxjp.themes.basicstrap
    Finished processing dependencies for sphinxjp.themes.basicstrap
    
    Exception occurred:
      File "conf.py", line 11, in <module>
        import sphinxjp.themes
    ImportError: No module named sphinxjp.themes
    The full traceback has been saved in c:\users\abdelo~1\appdata\local\temp\sphinx
    -err-wzgl0z.log, if you want to report the issue to the developers.
    Please also report this if it was a user error, so that a better error message c
    an be provided next time.
    A bug report can be filed in the tracker at <https://bitbucket.org/birkenfeld/sp
    hinx/issues/>. Thanks!
    
    运行Sphinx v1.3b2
    搜索sphinxjp.themes.basicstrap
    阅读https://pypi.python.org/simple/sphinxjp.themes.basicstrap/
    最佳匹配:sphinxjp.themes.basicstrap 0.4.1
    正在下载https://pypi.python.org/packages/source/s/sphinxjp.themes.basicstrap
    /sphinxjp.themes.basicstrap-0.4.1.tar.gz#md5=bac7d878391a3dfd663b51e231d5795
    处理sphinxjp.themes.basicstrap-0.4.1.tar.gz
    编写c:\users\abdelo~1\appdata\local\temp\easy\u install-ndzj8s\sphinxjp.themes
    .basicstrap-0.4.1\setup.cfg
    运行sphinxjp.themes.basicstrap-0.4.1\setup.py-qbdist\u egg-distdirc:\use
    rs\abdelo~1\appdata\local\temp\easy_install-ndzj8s\sphinxjp.themes.basicstrap-0。
    4.1\蛋区tmp pdyuqk
    将sphinxjp.themes.basicstrap 0.4.1添加到easy-install.pth文件
    已安装c:\python27\lib\site packages\sphinxjp.themes.basicstrap-0.4.1-py2.7.e
    游戏打得好
    处理sphinxjp.themes.basicstrap的依赖项
    已完成sphinxjp.themes.basicstrap的依赖项处理
    发生异常:
    文件“conf.py”,第11行,在
    导入sphinxjp.themes
    ImportError:没有名为sphinxjp.themes的模块
    完整的回溯已保存在c:\users\abdelo~1\appdata\local\temp\sphinx中
    -err-wzgl0z.log,如果要向开发人员报告问题。
    如果这是一个用户错误,也请报告它,以便更好地显示错误消息c
    下次将提供一份报告。
    错误报告可在以下位置的跟踪器中存档:。谢谢
    

    正如您所看到的,扩展已经安装!因此,我必须再次运行它,这样它才能工作。

    安装扩展时,它会创建一个
    .pth
    文件,导入时通常会在初始化过程中处理该文件。除其他事项外,
    .pth
    文件指定了必须添加到
    sys.path
    的其他项目,以便导入新扩展名

    因此,在安装
    .pth
    文件后,脚本需要采取步骤显式处理该文件。一种方法是使用模块,该模块属于:


    运行Sphinx v1.3b2搜索sphinxjp.themes.basicstrap阅读时挂起https://pypi.python.org/simple/sphinxjp.themes.basicstrap/ 最佳匹配:sphinxjp.themes.basicstrap 0.4.1下载https://pypi.python.org/packages/source/s/sphinxjp.themes.basicstrap /sphinxjp.themes.basicstrap-0.4.1.tar.gz#md5=bac7d878391a3dfd663b51e231d5795这将在另一个地方创建库(使用
    sphinxjp.\uuuuuu文件\uuuuuu
    ),并返回
    C:\Users\\AppData\Roaming\Python27\site packages
    @Abdelouahab。我使用
    --user
    进行测试,这一切对我来说都很好。只需将其更改回原始示例中的
    -U
    ,下面是它在运行Sphinxv1.3b2搜索sphinxjp.themes.basicstrap阅读后给出的内容https://pypi.python.org/simple/sphinxjp.themes.basicstrap/ 最佳匹配:sphinxjp.themes.basicstrap 0.4.1下载https://pypi.python.org/packages/source/s/sphinxjp.themes.basicstrap /sphinxjp.themes.basicstrap-0.4.1.tar.gz#md5=bac7d878391a3dfd663b51e231d5795配置错误:配置文件(或其导入的模块之一)名为sys.exit()@Abdelouahab。做得好!很高兴你解决了这个问题——谢谢你的投票/接受(假设我的答案现在也适用于你)。
    try:
        import sphinxjp.themes
    except ImportError:
        from pkg_resources import get_distribution
        from setuptools.command import easy_install
        easy_install.main( ["-U","sphinxjp.themes.basicstrap"] )
        get_distribution('sphinxjp.themes.basicstrap').activate()
        import sphinxjp.themes