नहीं मिल रहा है यह सवाल निम्नलिखित प्रश्न से संबंधित है, लेकिन वहाँ का उत्तर नहीं मिला:py.test मॉड्यूल
मैं के साथ एक अजगर मॉड्यूल है निम्नलिखित पेड़ संरचना:
mcts
|- setup.py
|- mcts
|- __init__.py
|- uct.py
|- toy_world_state.py
|- test
|- test_uct.py
|- test_toy_world_state.py
मैं वर्चुअलनव कुछ निर्देशिका में
$ mkdir virtual
$ virtualenv --system-site-packages virtual
$ source virtual/bin/activate
मैं तो मेरे पैकेज स्थापित: अगर मैं किसी भी रास्ते पर जाना
$ py.test mcts
================================================== test session starts ==================================================
platform linux -- Python 3.4.2 -- py-1.4.26 -- pytest-2.6.4
collected 0 items/2 errors
======================================================== ERRORS =========================================================
__________________________________ ERROR collecting mcts/test/test_toy_world_state.py ___________________________________
mcts/test/test_toy_world_state.py:4: in <module>
from mcts.toy_world_state import *
E ImportError: No module named 'mcts'
________________________________________ ERROR collecting mcts/test/test_uct.py _________________________________________
mcts/test/test_uct.py:4: in <module>
from mcts.uct import *
E ImportError: No module named 'mcts'
================================================ 2 error in 0.02 seconds ===============================================
और मॉड्यूल आयात करने का प्रयास:
$ cd /path/to/mcts
$ pip install -e .
अब मैं परीक्षण चलाने का प्रयास ipython
में यह काम करता है:
$ cd
$ ipython
In [1]: import mcts.uct
In [2]: mcts.uct?
Type: module
String form: <module 'mcts.uct' from '/home/johannes/src/mcts/mcts/uct.py'>
File: /home/johannes/src/mcts/mcts/uct.py
Docstring: <no docstring>
यदि मैं pycharm के भीतर से pytest चलाता है यह काम करता है। (लेकिन मैं नहीं पता है क्या जादू pycharm में क्या होता है ...)
echo $PYTHONPATH
कोई रिक्त स्ट्रिंग रिटर्न, वहीं sys.path
सही प्रतीत हो रहा है:
>>> import sys; print(sys.path)
['/home/johannes/src/mcts/virtualenvs/teste/lib/python3.4/site-packages',
'/home/johannes/src/mcts', '', '/usr/bin',
'/usr/lib/python3.4/site-packages/GitPython-0.3.2.RC1-py3.4.egg',
'/usr/lib/python34.zip', '/usr/lib/python3.4',
'/usr/lib/python3.4/plat-linux', '/usr/lib/python3.4/lib-dynload',
'/usr/lib/python3.4/site-packages',
'/usr/lib/python3.4/site-packages/IPython/extensions',
'/home/johannes/.ipython']
मुझे क्या करना है, प्राप्त करने के लिए pytests चल रहा है?
मैं आपकी फ़ाइल संरचना में मॉड्यूल 'toy_world_state' नहीं देख सकता जो बता सकता है कि 'mcts.toy_world_state import * से एक त्रुटि क्यों फेंकता है। – Scironic
क्षमा करें, यह मेरे प्रश्न में एक टाइपो था। मैं इसे बदलता हूँ। – hildensia
मुझे आश्चर्य है कि क्या आप अपने '$ PYTHONPATH' में प्रोजेक्ट जोड़ते हैं, यह काम कर सकता है और यह हो सकता है कि PyCharm को करने के लिए कॉन्फ़िगर किया गया हो। – adarsh