找不到 nosetests 网络模块
nosetests web module cannot be found
我正在使用 python 版本 2.7.10(我机器上的默认 python)。我有一个 python 模块,我想测试一下。模块中的第一个(也是唯一一个)导入是:
import web
urls = (
'/hello', 'index'
)
app = web.application(urls, globals())
render = web.template.render('templates/', base="layout")
class index:
def GET(self):
return render.hello_form()
def POST(self):
form = web.input(name="Nobody", greet="Hello")
greeting = "%s %s" % (form.greet, form.name)
return render.index(greeting = greeting)
if __name__ == "__main__":
app.run()
该模块名为 app.py
,位于我项目的 bin
目录下。我还在这个目录中定义了一个 __init__.py
。我运行对应的测试模块,叫app_tests.py
using nose,像这样:
nosetests
我收到以下错误:
======================================================================
ERROR: Failure: ImportError (No module named web)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/usr/local/lib/python2.7/site-packages/nose/loader.py", line 418, in loadTestsFromName
addr.filename, addr.module)
File "/usr/local/lib/python2.7/site-packages/nose/importer.py", line 47, in importFromPath
return self.importFromDir(dir_path, fqname)
File "/usr/local/lib/python2.7/site-packages/nose/importer.py", line 94, in importFromDir
mod = load_module(part_fqname, fh, filename, desc)
File "/Users/dev/python/workspace/projects/gothonweb/tests/app_tests.py", line 2, in <module>
from bin.app import app
File "/Users/dev/python/workspace/projects/gothonweb/bin/app.py", line 1, in <module>
import web
ImportError: No module named web
----------------------------------------------------------------------
我不知道为什么会发生这种情况,因为我可以 运行 并且执行 app.py
没有任何问题。
我从我的项目根目录 运行 nosetests
命令。项目结构如下所示:
devs-MacBook-Pro:gothonweb dev$ ls -R
bin docs gothonweb setup.py templates tests
./bin:
__init__.py __init__.pyc app.py app.pyc
./docs:
./gothonweb:
__init__.py __init__.pyc
./templates:
hello_form.html index.html layout.html
./tests:
__init__.py app_tests.py gothonweb_tests.py tools.py
__init__.pyc app_tests.pyc gothonweb_tests.pyc tools.pyc
我在 /usr/bin/python
中使用系统 python 因为我有一些 vim 插件如果我使用 python 我用 brew 安装的插件将无法工作。我做了 link 通过 brew 安装的 python (在 /usr/local/bin/python
,版本 2.7.13 下)并尝试了那个,但是我得到了同样的错误,说 web
找不到.有什么办法可以解决这个问题吗?
出现此错误时
ImportError: No module named web
这意味着你没有模块,你必须安装它或将它放在你的项目目录中(实际上是项目 PATH
)
您需要安装python-webpy
sudo apt-get install python-webpy
或使用pip
安装:
sudo pip install web.py
阅读 this 手册。
我正在使用 python 版本 2.7.10(我机器上的默认 python)。我有一个 python 模块,我想测试一下。模块中的第一个(也是唯一一个)导入是:
import web
urls = (
'/hello', 'index'
)
app = web.application(urls, globals())
render = web.template.render('templates/', base="layout")
class index:
def GET(self):
return render.hello_form()
def POST(self):
form = web.input(name="Nobody", greet="Hello")
greeting = "%s %s" % (form.greet, form.name)
return render.index(greeting = greeting)
if __name__ == "__main__":
app.run()
该模块名为 app.py
,位于我项目的 bin
目录下。我还在这个目录中定义了一个 __init__.py
。我运行对应的测试模块,叫app_tests.py
using nose,像这样:
nosetests
我收到以下错误:
======================================================================
ERROR: Failure: ImportError (No module named web)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/usr/local/lib/python2.7/site-packages/nose/loader.py", line 418, in loadTestsFromName
addr.filename, addr.module)
File "/usr/local/lib/python2.7/site-packages/nose/importer.py", line 47, in importFromPath
return self.importFromDir(dir_path, fqname)
File "/usr/local/lib/python2.7/site-packages/nose/importer.py", line 94, in importFromDir
mod = load_module(part_fqname, fh, filename, desc)
File "/Users/dev/python/workspace/projects/gothonweb/tests/app_tests.py", line 2, in <module>
from bin.app import app
File "/Users/dev/python/workspace/projects/gothonweb/bin/app.py", line 1, in <module>
import web
ImportError: No module named web
----------------------------------------------------------------------
我不知道为什么会发生这种情况,因为我可以 运行 并且执行 app.py
没有任何问题。
我从我的项目根目录 运行 nosetests
命令。项目结构如下所示:
devs-MacBook-Pro:gothonweb dev$ ls -R
bin docs gothonweb setup.py templates tests
./bin:
__init__.py __init__.pyc app.py app.pyc
./docs:
./gothonweb:
__init__.py __init__.pyc
./templates:
hello_form.html index.html layout.html
./tests:
__init__.py app_tests.py gothonweb_tests.py tools.py
__init__.pyc app_tests.pyc gothonweb_tests.pyc tools.pyc
我在 /usr/bin/python
中使用系统 python 因为我有一些 vim 插件如果我使用 python 我用 brew 安装的插件将无法工作。我做了 link 通过 brew 安装的 python (在 /usr/local/bin/python
,版本 2.7.13 下)并尝试了那个,但是我得到了同样的错误,说 web
找不到.有什么办法可以解决这个问题吗?
出现此错误时
ImportError: No module named web
这意味着你没有模块,你必须安装它或将它放在你的项目目录中(实际上是项目 PATH
)
您需要安装python-webpy
sudo apt-get install python-webpy
或使用pip
安装:
sudo pip install web.py
阅读 this 手册。