我有非常相似的问题。 python2 和 python3 包版本之间存在很多混淆,因为没有使用虚拟环境,我还不得不将 pip 降级到 18。
但无论如何,这就是我解决问题的方式。
找到安装包的位置:
pip show azure
输出将在 Location 部分显示包的位置:
Name: azure
Version: 4.0.0
Summary: Microsoft Azure Client Libraries for Python
Home-page: https://github.com/Azure/azure-sdk-for-python
Author: Microsoft Corporation
Author-email: azpysdkhelp@microsoft.com
License: MIT License
Location: /usr/local/lib/python3.6/dist-packages
Requires: azure-servicefabric, azure-cosmosdb-table, azure-datalake-store, azure-loganalytics, azure-eventgrid, azure-servicemanagement-legacy, azure-servicebus, azure-graphrbac, azure-storage-blob, azure-mgmt, azure-storage-file, azure-batch, azure-applicationinsights, azure-keyvault, azure-storage-queue
Required-by:
如果你这样做:
python -c "import sys;print(sys.path)"
您将看到 pip 包位置列表:
['/app', '/usr/lib/python36.zip', '/usr/lib/python3.6', '/usr/lib/python3.6/lib-dynload', '/usr/local/lib/python3.6/dist-packages', '/usr/lib/python3/dist-packages']
在我的python文件的开头我添加了:
sys.path.insert( 0, '/usr/local/lib/python3.6/dist-packages' )
这将确保首先检查此包位置。
更新
早上想起来,事情对我来说是一个新的视角。我看到,我的 python 文件开头有#!/usr/bin/python,它说使用错误的解释器并在错误的位置查找 pip 包。