저는 파이썬으로 패키지 작업을하고 있습니다. 나는 virtualenv를 사용합니다. 내 virtualenv의 .pth 경로에있는 모듈의 루트 경로를 설정하여 코드를 개발하는 동안 패키지의 모듈을 가져오고 테스트를 수행 할 수 있습니다 (질문 1 :하는 것이 좋은 방법입니까?). 이것은 잘 작동합니다 (여기에 예제가 있습니다, 이것이 내가 원하는 동작입니다).
(VEnvTestRc) zz@zz:~/Desktop/GitFolders/rc$ python
Python 2.7.12 (default, Jul 1 2016, 15:12:24)
[GCC 5.4.0 20160609] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> from rc import ns
>>> exit()
(VEnvTestRc) zz@zz:~/Desktop/GitFolders/rc$ python tests/test_ns.py
issued command: echo hello
command output: hello
그러나 PyTest를 사용하려고하면 몇 가지 가져 오기 오류 메시지가 표시됩니다.
(VEnvTestRc) zz@zz:~/Desktop/GitFolders/rc$ pytest
=========================================== test session starts ============================================
platform linux2 -- Python 2.7.12, pytest-3.0.5, py-1.4.31, pluggy-0.4.0
rootdir: /home/zz/Desktop/GitFolders/rc, inifile:
collected 0 items / 1 errors
================================================== ERRORS ==================================================
________________________________ ERROR collecting tests/test_ns.py ________________________________
ImportError while importing test module '/home/zz/Desktop/GitFolders/rc/tests/test_ns.py'.
Hint: make sure your test modules/packages have valid Python names.
Traceback:
tests/test_ns.py:2: in <module>
from rc import ns
E ImportError: cannot import name ns
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Interrupted: 1 errors during collection !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
========================================= 1 error in 0.09 seconds ==========================================
(VEnvTestRc) zz@zz:~/Desktop/GitFolders/rc$ which pytest
/home/zz/Desktop/VirtualEnvs/VEnvTestRc/bin/pytest
나는 약간 의아해합니다. 이것은 가져 오기 오류를 나타내는 것처럼 보이지만 Python은 정상적으로 작동하므로 PyTest에 특별히 문제가있는 이유는 무엇입니까? 이유 / 해결 방법에 대한 제안이 있습니까 (질문 2)? 나는 PyTest에 대한 'ImportError : cannot import'오류를 검색하고 스택 오버플로했지만 내가 얻은 히트는 파이썬 경로 누락과 관련이 있으며 여기에서 문제가되지 않는 것 같습니다. 어떤 제안?