我利用自制软件安装了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
我试着创建一个虚拟环境,但没有效果。我还尝试在我的$PYTHONPATH
环境变量中添加/usr/local/lib/python3.7/site-packages
。提前感谢!
发布于 2019-05-14 03:16:21
不要把你自己的python脚本叫做python模块或包--它会自动恢复的!
来自the search-path documentation
导入名为spam的模块时,解释器首先搜索具有该名称的内置模块。如果未找到,它将在变量sys.path提供的目录列表中搜索名为spam.py的文件。sys.path从以下位置初始化:
包含输入脚本的目录(如果未指定文件,则为当前目录)。
PYTHONPATH (目录名的列表,语法与shell变量PATH相同)。
依赖于安装的默认设置。
因此,在所有条件相同的情况下,首先搜索当前目录。
其他任何名称都可以,比如my_blackduck.py
。对于开发脚本,我建议您使用自己开发的前缀,可能是项目代码后跟下划线之类的东西,这样您就不会重复出现问题。
https://stackoverflow.com/questions/56117002
复制相似问题