Как разрешить ошибку ModuleNotFoundError при запуске pdoc в Python?

#python #modulenotfounderror #pdoc

Вопрос:

Я предварю это, сказав, что я все еще знакомлюсь с Python. Мой код выполняется просто отлично, без ошибок. У меня установлены все необходимые пакеты. Но когда я пытаюсь создать документацию для своего кода с помощью pdoc --html <filename> , я получаю эту ошибку…

 Traceback (most recent call last):
  File "/home/mike_bowerman_puzzle_consulting/.pyenv/versions/3.7.2/lib/python3.7/site-packages/pdoc/__init__.py", line 225, in import_module
    module = importlib.import_module(module_path)
  File "/home/mike_bowerman_puzzle_consulting/.pyenv/versions/3.7.2/lib/python3.7/importlib/__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1006, in _gcd_import
  File "<frozen importlib._bootstrap>", line 983, in _find_and_load
  File "<frozen importlib._bootstrap>", line 967, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 677, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 728, in exec_module
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "/home/dev_test/python_reports/Sample_Expansion.py", line 8, in <module>
    from couchbase.n1ql import N1QLQuery
ModuleNotFoundError: No module named 'couchbase'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/mike_bowerman_puzzle_consulting/.pyenv/versions/3.7.2/bin/pdoc", line 11, in <module>
    load_entry_point('pdoc3==0.9.2', 'console_scripts', 'pdoc')()
  File "/home/mike_bowerman_puzzle_consulting/.pyenv/versions/3.7.2/lib/python3.7/site-packages/pdoc/cli.py", line 534, in main
    for module in args.modules]
  File "/home/mike_bowerman_puzzle_consulting/.pyenv/versions/3.7.2/lib/python3.7/site-packages/pdoc/cli.py", line 534, in <listcomp>
    for module in args.modules]
  File "/home/mike_bowerman_puzzle_consulting/.pyenv/versions/3.7.2/lib/python3.7/site-packages/pdoc/__init__.py", line 609, in __init__
    module = import_module(module)
  File "/home/mike_bowerman_puzzle_consulting/.pyenv/versions/3.7.2/lib/python3.7/site-packages/pdoc/__init__.py", line 228, in import_module
    .format(module, e.__class__.__name__, e))
ImportError: Error importing 'Sample_Expansion.py': ModuleNotFoundError: No module named 'couchbase'
 

Вот инструкции по импорту в начале моего файла, на которых я пытался запустить pdoc.

 import sys
import os
from subprocess import Popen
import json
import time
import csv
import datetime
from couchbase.n1ql import N1QLQuery
 

Я думаю, что это проблема с исправлением, и мне нужно что-то сделать с моей переменной PYTHONPATH, но я не уверен. Любая помощь была бы очень признательна

Ответ №1:

Это выглядит так, как будто вы не couchbase установили в среде Python, в которой вы запускаете pdoc. Вам нужно иметь pdoc в той же среде Python, что и ваш скрипт и его зависимости. 🙂