[英]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.