我是一名初学者,正在尝试使用Python艰难的方式学习Python。我正在使用Mac OS,并且很早就被困在了ex48上。
我得到了:
ImportError: No module named ex48
当我尝试运行lexicon_tests.py时。
stackoverflow上已有一个类似的线程,但对于Windows,我尽力尝试按照它上面的建议但仍然得到错误。
我的目录结构是〜desktop / python / projects / ex48:
然后在ex48
内我有另一个目录'ex48',__init__.py
和lexicon.py
同样在第一个ex48
内,我有另一个目录'test'与__init__.py
和lexicon_tests.py
。
也许我的路上有问题?我相信我已经正确地下载了env变量,但是并不完全理解这一切是如何工作的......感谢您的帮助!
我的setup.py
是:
try:
from setuptools import setup
except ImportError:
from distutils.core import setup
config = {
'description': 'ex48',
'author': 'David Seidenberg',
'url': 'URL to get it at.',
'download_url': 'Where to download it.',
'author_email': 'davidseidenberg@gmail.com',
'version': '0.1',
'install_requires': ['nose'],
'packages': ['ex48'],
'scripts': [],
'name': 'ex48'
}
setup(**config)
答案 0 :(得分:2)
我认为你不能运行lexicon_tests.py
您必须从项目的根目录运行nosetests
。
事情是你有一个项目:
项目(ex48)
那么ex48中的包:
ex48 / ex48
此软件包包含一些模块,如lexicon.py
[你可以在该软件包中添加比engine.py,game.py和...模块更多的内容。]
在根目录中,您必须设置一个tests目录,以便您的Project结构必须如下:
ex48/
ex48/
__init__.py
lexicon.py
tests/
__init__.py
lexicon_tests.py
setup.py -> in root directory not tests
所以当你在root(ex48)中运行nosetests时,你必须得到测试反馈。