我正在通过艰难的方式学习Python,而我目前正在练习46,在那里你学习创建包。我创建了一个基本软件包,可以进行一些计算,并使用一些不同的模块。
我已经在我的python2.7网站包中安装了软件包,但事实上我似乎无法从我的网站软件包中运行该模块。我想知道python正在搜索的路径是否不同,原因如下:
安装完成后,我会看到此消息Copying story-0.1-py2.7.egg to /usr/local/lib/python2.7/site-packages
但是,当我尝试运行该模块时,我看到此消息/usr/local/Cellar/python/2.7.12_1/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOS/Python: can't open file 'story.py': [Errno 2] No such file or directory
很抱歉,如果这完全没有意义,我对这个充满梦想的编程世界非常陌生。
答案 0 :(得分:0)
安装软件包时,可以不同方式访问内部组件。您无法再致电python story.py
。
要访问story.py
中的函数,您需要import
另一个python文件顶部的模块或解释器中的模块。
如果story.py包含
def my_test_function(blah):
print blah
您可以通过以下方式在另一个文件中使用此功能(安装模块后,您已经完成了)
import story
story.my_test_function("Hello!")
通过导入模块,您可以通过键入module_name.function_name
来访问其中的所有函数和类。您也可以直接导入您想要使用的功能,这看起来像
from story import my_test_function
my_test_function("Hello!")