简体   繁体   English

Python Github pdoc - ModuleNotFoundError:没有名为 mainFile 的模块

[英]Python Github pdoc - ModuleNotFoundError: No module named mainFile

I have two files: mainFile.py and test_mainFile.py .我有两个文件: mainFile.pytest_mainFile.py I am trying to generate a documentation using pdoc which works well in a command line, but when I try to do the same thing using GitHub Actions, it fails to find the file.我正在尝试使用在命令行中运行良好的 pdoc 生成文档,但是当我尝试使用 GitHub Actions 执行相同的操作时,它找不到该文件。

Run if [ -f __init__.py ]
  if [ -f __init__.py ]
  then
    pdoc -o docs/ `pwd`
  else
    pdoc -o docs/ `ls --hide=*.md --hide=*.txt --hide=__pycache__`
  fi
  shell: /usr/bin/bash -e {0}
  env:
    pythonLocation: /opt/hostedtoolcache/Python/3.11.0/x64
    PKG_CONFIG_PATH: /opt/hostedtoolcache/Python/3.11.0/x64/lib/pkgconfig
    Python_ROOT_DIR: /opt/hostedtoolcache/Python/3.11.0/x64
    Python2_ROOT_DIR: /opt/hostedtoolcache/Python/3.11.0/x64
    Python3_ROOT_DIR: /opt/hostedtoolcache/Python/3.11.0/x64
    LD_LIBRARY_PATH: /opt/hostedtoolcache/Python/3.11.0/x64/lib
Traceback (most recent call last):
  File "/opt/hostedtoolcache/Python/3.11.0/x64/lib/python3.11/site-packages/pdoc/extract.py", line 218, in load_module
    return importlib.import_module(module)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/hostedtoolcache/Python/3.11.0/x64/lib/python3.11/importlib/__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "<frozen importlib._bootstrap>", line 1206, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1178, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1149, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 690, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 940, in exec_module
  File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
  File "/home/runner/work/AP1VS-final-project/AP1VS-final-project/project/test_mainFile.py", line 4, in <module>
    from mainFile import minMax
ModuleNotFoundError: No module named 'mainFile'

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/opt/hostedtoolcache/Python/3.11.0/x64/bin/pdoc", line 8, in <module>
    sys.exit(cli())
             ^^^^^
  File "/opt/hostedtoolcache/Python/3.11.0/x64/lib/python3.11/site-packages/pdoc/__main__.py", line 185, in cli
    pdoc.pdoc(
  File "/opt/hostedtoolcache/Python/3.11.0/x64/lib/python3.11/site-packages/pdoc/__init__.py", line 493, in pdoc
    all_modules[module_name] = doc.Module.from_name(module_name)
                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/hostedtoolcache/Python/3.11.0/x64/lib/python3.11/site-packages/pdoc/doc.py", line 392, in from_name
    return cls(extract.load_module(name))
               ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/hostedtoolcache/Python/3.11.0/x64/lib/python3.11/contextlib.py", line 81, in inner
    return func(*args, **kwds)
           ^^^^^^^^^^^^^^^^^^^
  File "/opt/hostedtoolcache/Python/3.11.0/x64/lib/python3.11/site-packages/pdoc/extract.py", line 220, in load_module
    raise RuntimeError(f"Error importing {module}") from e
RuntimeError: Error importing project.test_mainFile
Error: Process completed with exit code 1.

My test_mainFile.py where I import mainFile.py looks like this:我导入 mainFile.py 的 test_mainFile.py 如下所示:

"""Tests for main.py."""
import pytest
import builtins
from mainFile import minMax
from mainFile import bubbleSort
from mainFile import insertionSort
from mainFile import quickSort
from mainFile import documentInput
from mainFile import randomNumbers
from mainFile import handleInputNumbers
from mainFile import sort


def test_minMax():
...

When I try to do import mainFile directly, one of my GitHub actions then fails to find the mainfile.py step earlier while running unit tests.当我尝试直接import mainFile时,我的 GitHub 操作之一在运行单元测试时无法更早地找到 mainfile.py 步骤。 Everything seems to work fine on my local machine or at other computers, I just cannot find a way to make it pass through GitHub Action.在我的本地计算机或其他计算机上一切似乎都运行良好,我只是找不到让它通过 GitHub 操作的方法。 Both files are in the same directory.这两个文件都在同一个目录中。

Thank you for your help.谢谢您的帮助。

I'm slow.我很慢。 I just put the scripts in the root directory that solved it.我只是将脚本放在解决它的根目录中。 Wrong path错误的路径

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM