繁体   English   中英

Python-无法导入,鼻子测试引发错误

[英]Python - can't import, nosetests throws error

我是Python的新手,我刚开始创建骨架目录来开始分发项目,等等。 我按照LPTHW的书(练习46)进行操作,并像他所说的那样进行了目录编制,但还阅读了安装脚本和Distutils的文档。 我现在在Windows上,并且以这种方式构建它:

C:\Python27\projects
            - skeleton
            - newproj
                 - (d) bin
                      - foo.py
                 - (d) docs
                 - (d) newproj
                      - __init__.py
                 - (d) tests
                      - __init__.py
                      - newproj_test.py
                 - setup.py

setup.py与文档的示例相同:

from distutils.core import setup
setup(name = 'foo',
      version = '1.0',
      py_modules = ['foo'],
      )

在“ init ”脚本中,有些东西我并不是很明白为什么,但是:

from nose.tools import *
import foo

def setup():
    print "SETUP!"

def teardown():
    print "TEAR DOWN!"

def test_basic():
    print "I RAN!"

在newproj内部,我有一个bin目录,在其中编写了一个名为foo.py的简单脚本。 问题是,我打开了Python解释器,但在任何地方都找不到foo.py。 如果我转到cmd,则必须一直到C:\\ Python27 \\ projects \\ newproj \\ bin,然后键入python,这样我才能导入foo。 我该如何改变? 有什么方法可以导入内容,而不是去脚本/模块/程序的确切位置(尚不知道它们之间的确切区别)来导入吗?

真正的问题是,我应该在newproj目录上运行鼻子测试,并且不应引发任何错误,但是确实如此,它表示没有名为foo的模块,而且我现在不知道该怎么办,我有点尝试了一切。 我将Path变量更改为具有以下三个变量:C:\\ Python27 \\ Scripts; C:\\ Python27; C:\\ Python27 \\ projects

尝试将C:\\Python27\\projects\\newproj\\bin到您的PYTHONPATH环境变量中

我必须一直到C:\\ Python27 \\ projects \\ newproj \\ bin,然后键入python,这样我才能导入foo。 我该如何改变?

我也正在努力学习python。 初学者犯的最大错误之一是一直到确切的文件位置。 永远不要那样做! 在您的情况下,您应该位于C:\\ Python27 \\ projects \\ newproj,然后从那里在shell中键入python并使用以下命令导入foo:

from bin import foo

但是在成功导入之前,需要确保从导入目录中有一个init.py文件。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM