Я пытаюсь выучить Docker.
У меня есть скрипт Python, использующий библиотеку модов, которая НЕ установлена в моей системе. Цель состоит в том, чтобы выполнить это в контейнере Docker. Я написал Dockerfile. Я добавил эту строку внутри:
RUN pip install --trusted-host pypi.python.org -r requirements.txt
А в файле require.txt я написал mod .
Работает, и внутри контейнера устанавливает мод, и код работает хорошо.
Теперь я хочу создать документ Sphinx по тому же сценарию. Я знаю, как работает Сфинкс (основы). Я изменил conf.py
с помощью sys.path.insert(0, os.path.abspath('..'))
, и он указывает на каталог, который содержит Script.py (наряду с Dockerfile и needs.txt), а затем добавил следующее в index.rst: Script.py находится в папке с именем DockerPython:
.. automodule:: DockerPython.Script
:members:
Когда я запускаю make html
(что хорошо работает с другими примерами), я получаю следующее:
Running Sphinx v2.0.1
making output directory... done
building [mo]: targets for 0 po files that are out of date
building [html]: targets for 1 source files that are out of date
updating environment: 1 added, 0 changed, 0 removed
reading sources... [100%] index
WARNING: autodoc: failed to import module 'Script' from module 'DockerPython'; the following exception was raised:
No module named 'mod'
looking for now-outdated files... none found
pickling environment... done
checking consistency... done
preparing documents... done
writing output... [100%] index
generating indices... genindex
writing additional pages... search
copying static files... done
copying extra files... done
dumping search index in English (code: en) ... done
dumping object inventory... done
build succeeded, 1 warning.
The HTML pages are in build\html.
И страница, которую я получаю, пуста.
Итак, мой вопрос: может ли Sphinx выполняться на скрипте, который не компилируется и хорошо работает на локальном Python (потому что библиотека не установлена локально)?
Как мне заставить его работать над сценарием, который работает через Docker с конкретными настройками? Спасибо.