tl;dr
Comme indiqué dans la documentation officielle (http://docs.readthedocs.io/en/latest/builds.html), RTD publie intégralement ses instructions de construction de documentation. De plus, l 'image docker de l'environnement utilisé pour la construction est également publiée, il est donc facile de créer un environnement équivalent à portée de main et de le déboguer. ..
Tout d'abord, tirez l'image du docker et lancez-la dans un shell interactif.
docker run -it readthedocs/build:latest /bin/bash
À propos, au moment de la rédaction de cet article, la balise «2.0» était «la plus récente».
Ensuite, exécutez la commande basée sur le journal de construction de l'écran de gestion. Normalement, vous pouvez lire la méthode de construction officielle à partir de python, mais comme elle est gênante, exécutez-la en remplissant correctement l'interligne à partir du nom du répertoire, etc.
export READTHEDOCS=1 #Ajouts
mkdir -p /home/docs/checkouts/readthedocs.org/user_builds/word-embedding-loader/envs #Ajouts
git checkout https://github.com/koreyou/word_embedding_loader.git /home/docs/checkouts/readthedocs.org/user_builds/word-embedding-loader/envs/latest
cd /home/docs/checkouts/readthedocs.org/user_builds/word-embedding-loader/envs/latest #Ajouts
python2.7 -mvirtualenv --no-site-packages --no-download /home/docs/checkouts/readthedocs.org/user_builds/word-embedding-loader/envs/latest
source /home/docs/checkouts/readthedocs.org/user_builds/word-embedding-loader/envs/latest/bin/activate #Ajouts
python /home/docs/checkouts/readthedocs.org/user_builds/word-embedding-loader/envs/latest/bin/pip install --use-wheel -U --cache-dir /home/docs/checkouts/readthedocs.org/user_builds/word-embedding-loader/.cache/pip sphinx==1.5.3 Pygments==2.2.0 setuptools==28.8.0 docutils==0.13.1 mkdocs==0.15.0 mock==1.0.1 pillow==2.6.1 readthedocs-sphinx-ext\<0.6 sphinx-rtd-theme\<0.3 alabaster\>=0.7,\<0.8,!=0.7.5 commonmark==0.5.4 recommonmark==0.4.0
# requirements.Étant donné que le chemin de txt n'est pas spécifié par lui-même, les exigences en tant que prétraitement.Il semble qu'ils recherchent l'emplacement de txt
python /home/docs/checkouts/readthedocs.org/user_builds/word-embedding-loader/envs/latest/bin/pip install --exists-action=w --cache-dir /home/docs/checkouts/readthedocs.org/user_builds/word-embedding-loader/.cache/pip -r/home/docs/checkouts/readthedocs.org/user_builds/word-embedding-loader/checkouts/latest/requirements.txt
python setup.py install --force
#à l'origine-b C'était readthedocs, mais cela ne fonctionne pas, donc je l'ai changé en HTML standard
python /home/docs/checkouts/readthedocs.org/user_builds/word-embedding-loader/envs/latest/bin/sphinx-build -T -b html -d _build/doctrees-readthedocs -D language=en . _build/html
Après cela, dans la procédure où le problème est survenu, veuillez déboguer avec python -m pdb
.
À propos, la cause était parce que j'ai ajouté un élément supplémentaire à mon PATH. (RTD fait python setup.py install
, vous n'avez donc pas besoin d'ajouter le répertoire de package de votre projet à votre PATH)