无法使用pip3模块:ModuleNotFoundError

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (1)
  • 关注 (0)
  • 查看 (263)

我利用自制软件来安装python3,现在我无法运行我用相关的pip3二进制文件安装的模块。

from blackduck.HubRestApi import HubInstance
username = "sysadmin"
password = "your-password"
urlbase = "https://ec2-34-201-23-208.compute-1.amazonaws.com"
hub = HubInstance(urlbase, username, password, insecure=True)

运行python3 blackduck.py结果:

ModuleNotFoundError: No module named 'blackduck.HubRestApi'; 'blackduck' is not a package

包装证明:

$pip3 install blackduck                                                                                                                                    
Requirement already satisfied: blackduck in /usr/local/lib/python3.7/site-packages (0.0.25)
Requirement already satisfied: requests in /usr/local/lib/python3.7/site-packages (from blackduck) (2.21.0)
Requirement already satisfied: idna<2.9,>=2.5 in /usr/local/lib/python3.7/site-packages (from requests->blackduck) (2.8)
Requirement already satisfied: certifi>=2017.4.17 in /usr/local/lib/python3.7/site-packages (from requests->blackduck) (2019.3.9)
Requirement already satisfied: urllib3<1.25,>=1.21.1 in /usr/local/lib/python3.7/site-packages (from requests->blackduck) (1.24.3)
Requirement already satisfied: chardet<3.1.0,>=3.0.2 in /usr/local/lib/python3.7/site-packages (from requests->blackduck) (3.0.4)

help('modules') - >包含 blackduck

$pip3 list | grep blackduck          
blackduck  0.0.25

我试图创建一个虚拟环境,但无济于事。我也试过添加/usr/local/lib/python3.7/site-packages到我的$PYTHONPATHenv变量。提前致谢!

提问于
用户回答回答于

不要像python模块或包一样调用你自己的python脚本 - 它会自己动起来!

搜索路径文档

导入名为spam的模块时,解释器首先搜索具有该名称的内置模块。如果未找到,则会在变量sys.path给出的目录列表中搜索名为spam.py的文件。sys.path从这些位置初始化: 包含输入脚本的目录(或未指定文件时的当前目录)。 PYTHONPATH(目录名列表,语法与shell变量PATH相同)。 依赖于安装的默认值。

因此,在所有条件相同的情况下,首先搜索当前目录。

把它称之为其他东西,比如my_blackduck.py。我建议你使用一个自己开发的前缀,可能是一个项目代码,后跟类似下划线的东西,用于开发脚本,这样你就不会重复这个问题了。

扫码关注云+社区

领取腾讯云代金券