如何安装Python配方文件(.py)?

时间:2010-09-25 08:53:17

标签: python install python-3.x recipe

我是Python的新手。我目前正在使用Py3k(Win)。

我在安装.py文件时遇到问题。基本上,我想使用this页面底部提供的食谱。所以我想把它们放在.pyimport里面的我的源代码中。

所以我将所有食谱复制到recipes.py文件中并将其复制到C:\Python3k\Lib\site-packages

现在,import工作正常,但是当我尝试从中调用任何函数(例如take)时,我得到了global name 'islice' is not defined ...所以我想,我应将itertools导入添加到recipes.py

我仍然得到同样的错误?我是否需要将所有实例更改为itertools.<funcname>?我怎样才能使导入全局化?这是一个新的Py3k变化吗?我有什么遗失的吗?

提前致谢:)

1 个答案:

答案 0 :(得分:7)

有两个密切相关的问题。

首先,在 recipes.py中的,您需要访问所有的itertools。

至少,这意味着你需要

import itertools

在顶部。但是在这种情况下,您需要将所有itertools函数限定为itertools.<funcname>,如您所述。 (您也可以使用import itertools as it然后使用it.<funcname>。)

其次,你可以做到

from itertools import islice, count, chain

但您需要将所有必需的功能放在列表中。

最后,推荐最少,但可能最简单的是

from itertools import *

这很危险,因为它会使用来自itertools所有来污染您的命名空间,这被视为糟糕且不受控制,但在这种情况下可能并不可怕。

第二个,您在使用 recipes.py的所有代码中遇到类似问题;你需要限定或明确导入一切。所以,要么

import recipes
recipes.take(...)

from recipes import take
take(...)