본문 바로가기
파이썬

파이썬 Python3.6 오류 : ModuleNotFoundError : 'src'라는 모듈이 없습니다.

by º기록 2020. 10. 10.
반응형

전에도 비슷한 질문을 받았던 것을 알고 있습니다 ... 그러나 저는 금방 의심했습니다 ...


내 코드 구조 :

my-project
  -- __init__.py
  -- src
      -- __init__.py
      -- file1.py
  -- test
      -- __init__.py
      -- test_file1.py

test_file1.py :

import unittest
from src.file1 import *

class TestWriteDataBRToOS(unittest.TestCase):
    def test_getData(self):
    sampleData = classInFile1()
    sampleData.getData()
    self.assertNotEqual(sampleData.usrname, "")

if __name__ == '__main__':
    unittest.main()

여기에 오류가 발생합니다.

ModuleNotFoundError: No module named 'src'

내가 변경하면 :

import sys
sys.path.insert(0, '../src')
import unittest
from file1 import *

그러면 작동합니다!

누군가가 sys.path.insert (0, '../src') 문.

감사!

편집하다:

my-project dir에서 실행 한 후 :`python -m unittest test / test_file1 / TestWriteDataBRToOS 위에서 업데이트 한대로 오류가 발생합니다.

Traceback (most recent call last):
File "/usr/lib/python2.7/runpy.py", line 174, in _run_module_as_main
"__main__", fname, loader, pkg_name)
File "/usr/lib/python2.7/runpy.py", line 72, in _run_code
exec code in run_globals
File "/usr/lib/python2.7/unittest/__main__.py", line 12, in <module>
main(module=None)
File "/usr/lib/python2.7/unittest/main.py", line 94, in __init__
self.parseArgs(argv)
File "/usr/lib/python2.7/unittest/main.py", line 149, in parseArgs
self.createTests()
File "/usr/lib/python2.7/unittest/main.py", line 158, in createTests
self.module)
File "/usr/lib/python2.7/unittest/loader.py", line 130, in loadTestsFromNames
suites = [self.loadTestsFromName(name, module) for name in names]
File "/usr/lib/python2.7/unittest/loader.py", line 91, in loadTestsFromName
module = __import__('.'.join(parts_copy))
ImportError: Import by filename is not supported.

 

해결 방법

 

test 폴더가 아닌 my-project 폴더에서 테스트를 실행해야합니다.

python -m unittest test.test_file1.TestWriteDataBRToOS

 

참조 페이지 https://stackoverflow.com/questions/51049663

 

 

반응형

댓글