【发布时间】:2014-05-16 17:44:53
【问题描述】:
我通过以下方式启动 shell:
scrapy shell 'some_url'
我想在 shell 中使用 numpy:
import numpy
a = numpy.random.random(2)
a = array([ 0.64836678, 0.72713776])
这些都运行良好。当我尝试在函数定义中使用 numpy 时,问题就来了:
In [23]: def foo(n): return numpy.random.random(n)
In [24]: foo(2)
In [24]: foo(2)
---------------------------------------------------------------------------
NameError Traceback (most recent call last)
<ipython-input-24-3ab2f4e33a15> in <module>()
----> 1 foo(2)
<ipython-input-23-8383e2a3c452> in foo(n)
----> 1 def foo(n) : return numpy.random.random(n)
NameError: global name 'numpy' is not defined
我目前的解决方案是:
def foo(n) :import numpy ; return numpy.random.random(n)
有人可以帮助解释这个问题并提出更优雅的解决方案吗?
提前致谢。
【问题讨论】:
标签: python namespaces scrapy