我正在安装 github 中提供的软件包examplepackage
$pip3 install examplepackage
Defaulting to user installation because normal site-packages is not writeable
Collecting examplepackage
Using cached ExamplePackage-0.1.3-py3-none-any.whl
Installing collected packages: examplepackage
Successfully installed examplepackage-0.1.3
$pip3 list | grep -i example
ExamplePackage 0.1.3
我正在尝试运行以下代码:
from ExamplePackage.example_module import example_function
example_function()
并期望从 example_module 中的 example_function() 打印以下内容:
世界你好!我打赌你没想到这一点。
但我遇到以下错误:
$python3 test.py
Traceback (most recent call last):
File "/Users/saurav/face_detection/test.py", line 1, in <module>
from ExamplePackage.example_module import example_function
ModuleNotFoundError: No module named 'ExamplePackage.example_module'
请帮忙。
这很有趣。我使用
pip install examplepackage
安装了该软件包,效果很好。但是,包存储库中提供的导入语句似乎不起作用。
因此我决定检查该软件包,发现实际安装的软件包是
ExamplePackage
而不是examplepackage
。此外,没有像 example_module
和 example_function()
这样的东西,这意味着他们的 GitHub 上提供的以下代码会抛出错误:
import examplepackage
examplepackage.example_module.example_function()
查看
ExamplePackage
的内容(即实际安装的包),我们有SubPackage1和SubPackage2。 SubPackage1
包含一个 module1.py
文件,我们可以从中导入函数 fun1
。 SubPackage2 包含一个名为 GrandPackage
的文件夹和一个带有函数 module2.py
的 fun2
。
此包中不存在 examplepackage、example_module 或 example_function() 。你能做的是:
from ExamplePackage.SubPackage1.module1 import fun1
这会抛出一个
SyntaxError: Missing parentheses in call to 'print'. Did you mean print(...)?
所以让我们看看module1
的内容:
#!/usr/bin/python
# Filename: mymodule1.py
def fun1():
print "Module1"
你可以看到
fun1
中的打印语句没有括号(可能是用Python的古老版本编写的)。要解决此问题,请按照错误消息 print("Module1")
中的建议在打印语句中添加括号。再次运行正确的导入语句,唷,它现在可以工作了。对您想要导入的任何其他函数重复此操作,因为它们不是用 Python3 编写的。