Saya sedang mengerjakan paket dengan Python. Saya menggunakan virtualenv. Saya mengatur jalur ke root modul di jalur .pth di virtualenv saya, sehingga saya dapat mengimpor modul dari paket sambil mengembangkan kode dan melakukan pengujian (Pertanyaan 1: apakah ini cara yang baik untuk dilakukan?). Ini berfungsi dengan baik (ini adalah contoh, ini adalah perilaku yang saya inginkan):
(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
Namun, jika saya mencoba menggunakan PyTest, saya mendapatkan beberapa pesan kesalahan impor:
(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
Saya agak bingung, sepertinya ini menunjukkan kesalahan impor, tetapi Python tidak masalah jadi mengapa ada masalah khusus dengan PyTest? Adakah saran untuk alasan / perbaikan (Pertanyaan 2)? Saya mencari di Google dan menumpuk kesalahan 'ImportError: tidak dapat mengimpor' untuk PyTest, tetapi klik yang saya dapatkan terkait dengan jalur python yang hilang dan perbaikan untuk ini, yang tampaknya bukan masalah di sini. Ada saran?