我正在以困难的方式学习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
对不起,如果这完全没有意义,我对编程的幻想世界很陌生。
安装软件包时,您可以以不同的方式访问内部结构。您不能再只是打电话给python story.py
.
要访问story.py
中的函数,您需要在另一个 python 文件的顶部或在解释器中import
模块。
如果包含 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!")