在 conda 环境中安装时如何修复 azureml-sdk 中的 ModuleNotFoundError
How to fix ModuleNotFoundError in azureml-sdk when installed inside conda environment
我正在使用 Miniconda 4.5.12 在 Windows 10 Pro x64 上设置一个 conda 环境,并在环境中完成了 azureml-sdk 的 pip 安装,但在尝试执行以下命令时出现 ModuleNotFoundError代码:
import azureml.core
azureml.core.VERSION
这是输出:
Traceback (most recent call last):
File "azureml.py", line 1, in <module>
import azureml.core
File "D:\Projects\style-transfer\azureml.py", line 1, in <module>
import azureml.core
ModuleNotFoundError: No module named 'azureml.core'; 'azureml' is not a package
上面的代码 运行 来自 conda 提示符,测试环境处于活动状态,vscode 选择了相同的环境。
我按照以下设置conda环境:
- 创建了 conda 环境
conda create -n test
。
- 激活环境
activate test
。
- 已安装 pip
conda install pip
。
- 已安装 azureml-sdk
pip install azureml-sdk
。
这会导致根据 conda list
在环境中安装以下软件包:
adal 1.2.0 <pip>
antlr4-python3-runtime 4.7.2 <pip>
applicationinsights 0.11.7 <pip>
argcomplete 1.9.4 <pip>
asn1crypto 0.24.0 <pip>
azure-cli-command-modules-nspkg 2.0.2 <pip>
azure-cli-core 2.0.54 <pip>
azure-cli-nspkg 3.0.3 <pip>
azure-cli-profile 2.1.2 <pip>
azure-cli-telemetry 1.0.0 <pip>
azure-common 1.1.16 <pip>
azure-graphrbac 0.53.0 <pip>
azure-mgmt-authorization 0.51.1 <pip>
azure-mgmt-containerregistry 2.5.0 <pip>
azure-mgmt-keyvault 1.1.0 <pip>
azure-mgmt-nspkg 3.0.2 <pip>
azure-mgmt-resource 2.0.0 <pip>
azure-mgmt-storage 3.1.0 <pip>
azure-nspkg 3.0.2 <pip>
azure-storage-blob 1.4.0 <pip>
azure-storage-common 1.4.0 <pip>
azure-storage-nspkg 3.1.0 <pip>
azureml-core 1.0.6 <pip>
azureml-pipeline 1.0.6 <pip>
azureml-pipeline-core 1.0.6 <pip>
azureml-pipeline-steps 1.0.6 <pip>
azureml-sdk 1.0.6 <pip>
azureml-telemetry 1.0.6 <pip>
azureml-train 1.0.6 <pip>
azureml-train-core 1.0.6 <pip>
azureml-train-restclients-hyperdrive 1.0.6 <pip>
backports.tempfile 1.0 <pip>
backports.weakref 1.0.post1 <pip>
bcrypt 3.1.5 <pip>
ca-certificates 2018.03.07 0
certifi 2018.11.29 py37_0
cffi 1.11.5 <pip>
chardet 3.0.4 <pip>
colorama 0.4.1 <pip>
contextlib2 0.5.5 <pip>
cryptography 2.4.2 <pip>
docker 3.6.0 <pip>
docker-pycreds 0.4.0 <pip>
futures 3.1.1 <pip>
humanfriendly 4.17 <pip>
idna 2.8 <pip>
isodate 0.6.0 <pip>
jmespath 0.9.3 <pip>
jsonpickle 1.0 <pip>
knack 0.5.1 <pip>
msrest 0.6.2 <pip>
msrestazure 0.6.0 <pip>
ndg-httpsclient 0.5.1 <pip>
oauthlib 2.1.0 <pip>
openssl 1.1.1a he774522_0
paramiko 2.4.2 <pip>
pathspec 0.5.9 <pip>
pip 18.1 py37_0
portalocker 1.2.1 <pip>
pyasn1 0.4.4 <pip>
pycparser 2.19 <pip>
Pygments 2.3.1 <pip>
PyJWT 1.7.1 <pip>
PyNaCl 1.3.0 <pip>
pyOpenSSL 18.0.0 <pip>
pypiwin32 223 <pip>
pyreadline 2.1 <pip>
python 3.7.1 h8c8aaf0_6
python-dateutil 2.7.5 <pip>
pytz 2018.7 <pip>
pywin32 224 <pip>
PyYAML 3.13 <pip>
requests 2.21.0 <pip>
requests-oauthlib 1.0.0 <pip>
ruamel.yaml 0.15.51 <pip>
SecretStorage 2.3.1 <pip>
setuptools 40.6.3 py37_0
six 1.12.0 <pip>
sqlite 3.26.0 he774522_0
tabulate 0.8.2 <pip>
urllib3 1.23 <pip>
vc 14.1 h0510ff6_4
vs2015_runtime 14.15.26706 h3a45250_0
websocket-client 0.54.0 <pip>
wheel 0.32.3 py37_0
wheel 0.30.0 <pip>
wincertstore 0.2 py37_0
如果我运行which pip
,我得到以下输出,这证实我使用环境中的pip来安装azureml-sdk,我认为:
/c/Users/allan/Miniconda3/envs/test/Scripts/pip
我还可以看到 azureml 包确实存在于环境文件夹结构中。
可能是因为您的 python 文件的名称与您尝试导入的模块名称相同。在这种情况下,将文件重命名为 azureml.py
.
以外的名称
我正在使用 Miniconda 4.5.12 在 Windows 10 Pro x64 上设置一个 conda 环境,并在环境中完成了 azureml-sdk 的 pip 安装,但在尝试执行以下命令时出现 ModuleNotFoundError代码:
import azureml.core
azureml.core.VERSION
这是输出:
Traceback (most recent call last):
File "azureml.py", line 1, in <module>
import azureml.core
File "D:\Projects\style-transfer\azureml.py", line 1, in <module>
import azureml.core
ModuleNotFoundError: No module named 'azureml.core'; 'azureml' is not a package
上面的代码 运行 来自 conda 提示符,测试环境处于活动状态,vscode 选择了相同的环境。
我按照以下设置conda环境:
- 创建了 conda 环境
conda create -n test
。 - 激活环境
activate test
。 - 已安装 pip
conda install pip
。 - 已安装 azureml-sdk
pip install azureml-sdk
。
这会导致根据 conda list
在环境中安装以下软件包:
adal 1.2.0 <pip>
antlr4-python3-runtime 4.7.2 <pip>
applicationinsights 0.11.7 <pip>
argcomplete 1.9.4 <pip>
asn1crypto 0.24.0 <pip>
azure-cli-command-modules-nspkg 2.0.2 <pip>
azure-cli-core 2.0.54 <pip>
azure-cli-nspkg 3.0.3 <pip>
azure-cli-profile 2.1.2 <pip>
azure-cli-telemetry 1.0.0 <pip>
azure-common 1.1.16 <pip>
azure-graphrbac 0.53.0 <pip>
azure-mgmt-authorization 0.51.1 <pip>
azure-mgmt-containerregistry 2.5.0 <pip>
azure-mgmt-keyvault 1.1.0 <pip>
azure-mgmt-nspkg 3.0.2 <pip>
azure-mgmt-resource 2.0.0 <pip>
azure-mgmt-storage 3.1.0 <pip>
azure-nspkg 3.0.2 <pip>
azure-storage-blob 1.4.0 <pip>
azure-storage-common 1.4.0 <pip>
azure-storage-nspkg 3.1.0 <pip>
azureml-core 1.0.6 <pip>
azureml-pipeline 1.0.6 <pip>
azureml-pipeline-core 1.0.6 <pip>
azureml-pipeline-steps 1.0.6 <pip>
azureml-sdk 1.0.6 <pip>
azureml-telemetry 1.0.6 <pip>
azureml-train 1.0.6 <pip>
azureml-train-core 1.0.6 <pip>
azureml-train-restclients-hyperdrive 1.0.6 <pip>
backports.tempfile 1.0 <pip>
backports.weakref 1.0.post1 <pip>
bcrypt 3.1.5 <pip>
ca-certificates 2018.03.07 0
certifi 2018.11.29 py37_0
cffi 1.11.5 <pip>
chardet 3.0.4 <pip>
colorama 0.4.1 <pip>
contextlib2 0.5.5 <pip>
cryptography 2.4.2 <pip>
docker 3.6.0 <pip>
docker-pycreds 0.4.0 <pip>
futures 3.1.1 <pip>
humanfriendly 4.17 <pip>
idna 2.8 <pip>
isodate 0.6.0 <pip>
jmespath 0.9.3 <pip>
jsonpickle 1.0 <pip>
knack 0.5.1 <pip>
msrest 0.6.2 <pip>
msrestazure 0.6.0 <pip>
ndg-httpsclient 0.5.1 <pip>
oauthlib 2.1.0 <pip>
openssl 1.1.1a he774522_0
paramiko 2.4.2 <pip>
pathspec 0.5.9 <pip>
pip 18.1 py37_0
portalocker 1.2.1 <pip>
pyasn1 0.4.4 <pip>
pycparser 2.19 <pip>
Pygments 2.3.1 <pip>
PyJWT 1.7.1 <pip>
PyNaCl 1.3.0 <pip>
pyOpenSSL 18.0.0 <pip>
pypiwin32 223 <pip>
pyreadline 2.1 <pip>
python 3.7.1 h8c8aaf0_6
python-dateutil 2.7.5 <pip>
pytz 2018.7 <pip>
pywin32 224 <pip>
PyYAML 3.13 <pip>
requests 2.21.0 <pip>
requests-oauthlib 1.0.0 <pip>
ruamel.yaml 0.15.51 <pip>
SecretStorage 2.3.1 <pip>
setuptools 40.6.3 py37_0
six 1.12.0 <pip>
sqlite 3.26.0 he774522_0
tabulate 0.8.2 <pip>
urllib3 1.23 <pip>
vc 14.1 h0510ff6_4
vs2015_runtime 14.15.26706 h3a45250_0
websocket-client 0.54.0 <pip>
wheel 0.32.3 py37_0
wheel 0.30.0 <pip>
wincertstore 0.2 py37_0
如果我运行which pip
,我得到以下输出,这证实我使用环境中的pip来安装azureml-sdk,我认为:
/c/Users/allan/Miniconda3/envs/test/Scripts/pip
我还可以看到 azureml 包确实存在于环境文件夹结构中。
可能是因为您的 python 文件的名称与您尝试导入的模块名称相同。在这种情况下,将文件重命名为 azureml.py
.