简体   繁体   English

Tensorflow 2 适用于 Jupyter Notebook 但不适用于 VsCode

[英]Tensorflow 2 works on Jupyter Notebook but not on VsCode

This code with tensorflow 2.2.0 works on Jupyter Notebook but gives error on VsCode.此代码与 tensorflow 2.2.0 在 Jupyter Notebook 上工作,但在 VsCode 上出现错误。
I doubt "python.pythonPath" in settings.json which is autogenerated in VsCode.我怀疑在 VsCode 中自动生成的 settings.json 中的“python.pythonPath”。
Not sure how to config VsCode.不知道如何配置 VsCode。

import tensorflow as tf
print(tf.__version__)
C:\Users\<User>\Anaconda3\envs\tf2\lib\site-packages\numpy\__init__.py:140: UserWarning: mkl-service package failed to import, therefore Intel(R) MKL initialization ensuring its correct out-of-the box operation under condition when Gnu OpenMP had already been loaded by Python process is not assured. Please install mkl-service package, see http://github.com/IntelPython/mkl-service
  from . import _distributor_init
Traceback (most recent call last):
  File "C:\Users\<User>\Anaconda3\envs\tf2\lib\site-packages\numpy\core\__init__.py", line 24, in <module>
    from . import multiarray
  File "C:\Users\<User>\Anaconda3\envs\tf2\lib\site-packages\numpy\core\multiarray.py", line 14, in <module>
    from . import overrides
  File "C:\Users\<User>\Anaconda3\envs\tf2\lib\site-packages\numpy\core\overrides.py", line 7, in <module>
    from numpy.core._multiarray_umath import (
ImportError: DLL load failed while importing _multiarray_umath: The specified module could not be found.

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "c:\Users\<User>\Documents\Me\Lab\Programming\Python\Tensorflow\Tensorflow2\test.py", line 1, in <module>
    import tensorflow as tf
  File "C:\Users\<User>\Anaconda3\envs\tf2\lib\site-packages\tensorflow\__init__.py", line 41, in <module>
    from tensorflow.python.tools import module_util as _module_util
  File "C:\Users\<User>\Anaconda3\envs\tf2\lib\site-packages\tensorflow\python\__init__.py", line 48, in <module>
    import numpy as np
  File "C:\Users\<User>\Anaconda3\envs\tf2\lib\site-packages\numpy\__init__.py", line 142, in <module>
    from . import core
  File "C:\Users\<User>\Anaconda3\envs\tf2\lib\site-packages\numpy\core\__init__.py", line 50, in <module>
    raise ImportError(msg)
ImportError:

IMPORTANT: PLEASE READ THIS FOR ADVICE ON HOW TO SOLVE THIS ISSUE!

Importing the numpy C-extensions failed. This error can happen for
many reasons, often due to issues with your setup or how NumPy was
installed.

We have compiled some common reasons and troubleshooting tips at:

    https://numpy.org/devdocs/user/troubleshooting-importerror.html

Please note and check the following:

  * The Python version is: Python3.8 from "C:\Users\<User>\Anaconda3\envs\tf2\python.exe"
  * The NumPy version is: "1.18.5"

and make sure that they are the versions you expect.
Please carefully study the documentation linked above for further help.

Original error was: DLL load failed while importing _multiarray_umath: The specified module could not be found.

settings.json设置.json

{
    "python.pythonPath": "C:\\Users\\<User>\\Anaconda3\\envs\\tf2\\python.exe"
}

VsCode sys.path sys.path系统路径

['c:\\Users\\<User>\\Documents\\Me\\Lab\\Programming\\Python\\Tensorflow\\Tensorflow2', 
 'C:\\Users\\<User>\\Documents\\Me\\Lab\\Programming\\Python\\Tensorflow\\Tensorflow2', 
 'C:\\Users\\<User>\\Anaconda3\\envs\\tf2\\python38.zip', 
 'C:\\Users\\<User>\\Anaconda3\\envs\\tf2\\DLLs', 
 'C:\\Users\\<User>\\Anaconda3\\envs\\tf2\\lib', 
 'C:\\Users\\<User>\\Anaconda3\\envs\\tf2', 
 'C:\\Users\\<User>\\Anaconda3\\envs\\tf2\\lib\\site-packages', 
 'C:\\Users\\<User>\\Anaconda3\\envs\\tf2\\lib\\site-packages\\win32', 
 'C:\\Users\\<User>\\Anaconda3\\envs\\tf2\\lib\\site-packages\\win32\\lib', 
 'C:\\Users\\<User>\\Anaconda3\\envs\\tf2\\lib\\site-packages\\Pythonwin']

Jupyter Notebook sys.path Jupyter Notebook sys.path

['C:\\Users\\<User>\\Documents\\Me\\Lab\\Programming\\Python\\Tensorflow\\Tensorflow2_jupyter', 
 'C:\\Users\\<User>\\Anaconda3\\envs\\tf2\\python38.zip', 
 'C:\\Users\\<User>\\Anaconda3\\envs\\tf2\\DLLs', 
 'C:\\Users\\<User>\\Anaconda3\\envs\\tf2\\lib', 
 'C:\\Users\\<User>\\Anaconda3\\envs\\tf2', '', 
 'C:\\Users\\<User>\\Anaconda3\\envs\\tf2\\lib\\site-packages', 
 'C:\\Users\\<User>\\Anaconda3\\envs\\tf2\\lib\\site-packages\\win32', 
 'C:\\Users\\<User>\\Anaconda3\\envs\\tf2\\lib\\site-packages\\win32\\lib', 
 'C:\\Users\\<User>\\Anaconda3\\envs\\tf2\\lib\\site-packages\\Pythonwin', 
 'C:\\Users\\<User>\\Anaconda3\\envs\\tf2\\lib\\site-packages\\IPython\\extensions', 
 'C:\\Users\\<User>\\.ipython']

Try launching VS Code from your activated conda environment and then make sure its selected by the Python extension (look in the status bar).尝试从您激活的 conda 环境中启动 VS Code,然后确保它被 Python 扩展(查看状态栏)选中。 That should fix the discrepancy in sys.path .这应该可以解决sys.path中的差异。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM