我的Python 3模块应该在哪里?

时间:2013-08-04 17:14:29

标签: python macos python-3.x osx-snow-leopard

我最近在Mac OSX 10.6.8上安装了Python 3,直到现在我还没有遇到任何模块或导入问题。我正在编写一个函数来测试三角形是否根据边的长度成直角,并且练习所在的指南有一堆相同的测试值,所以我可以看看它是否有效:

testEqual(is_rightangled(1.5,2.0,2.5), True)
testEqual(is_rightangled(4.0,8.0,16.0), False)
testEqual(is_rightangled(4.1,8.2,9.1678787077), True)
testEqual(is_rightangled(4.1,8.2,9.16787), True)
testEqual(is_rightangled(4.1,8.2,9.168), False)
testEqual(is_rightangled(0.5,0.4,0.64031), True)

我应该从一个名为test的模块中导入一个名为testEqual(a,b,c)的函数,因为指南中的示例程序以from test import testEqual开头,但是当我在我的文件中键入它时,我得到了这个消息:

  from test import testEqual
ImportError: cannot import name testEqual

我想我应该指定测试模块的路径,但是我无法在我的计算机的任何地方找到它的Python 3库 - 只是随计算机一起安装的2.x版本,它们位于{{1 }}。 /Library/Pythonimport turtle工作,所以它必须在某个地方。

2 个答案:

答案 0 :(得分:5)

Python stdlib中的test module不包含名为testEqual()的函数。其文档以

开头
  

注意: test包仅供Python内部使用。它是   为Python核心开发人员的利益而记录。任何用途   不推荐使用Python标准库之外的这个包   此处提到的代码可以更改或删除,恕不另行通知   Python版本。

您确定您所关注的本指南没有自己应该使用的test.py程序吗?

答案 1 :(得分:0)

编写testEqual()函数时,请记下您正在使用的目录。例如,在我的mac上,我在文档中创建了一个目录(文件夹),所以我的路径如下:/ Users / myName / Documents / python。将您的函数(模块)保存为testEqual.py,并在shebang行之后编写test.py脚本导入testEqual。调试脚本后,模块将位于python创建的标题为 pycache 的文件夹中,不要删除它,因为它是编译代码。现在,只要您使用与模块相同的目录,除了使用import语句之外,您不需要执行任何操作。