#问题及解决方案整理# | python | anaconda+TensorFlow软件安装运行中的各种问题(已成功解决)
背景
运行环境:Windows 10,anaconda,python3.9.7,TensorFlow ————————————————————————————————————————————
常用指令
查看conda的版本
conda --version
查看python的版本
python
查看anaconda安装了哪些环境变量
conda info --envs
原因及解决方案:
在安装完成anaconda环境后,在anaconda prompt下安装tensorflow。于是出现了上述问题。 分析原因得到,下载安装包的镜像源连接不上,需要更换下载源链接。
参考1-1 、 1-2
- 直接打开本地电脑上对应路径
C:\Users\Jing 下的文件.condarc ,打开方式为记事本就行。此处路径中的Jing 对应为自己的电脑的用户名称。 - 修改文件中的内容为如下图所示:
删掉默认- deault ,添加几行清华镜像地址。 - 不仅可以通过文件夹添,也可以通过在命令行执行添加镜像地址。命令行的内容如下:
- 保存关闭,并重启电脑(这一步很关键!!!)。
- 重新激活tensflow的环境变量
activate py39 ; - 执行安装命令
pip install --upgrade --ignore-installed tensorflow ; - 通过命令行启动
Spyder 。
问题2:moduleNotFoundError:No module named ‘tensorflow’
原因及解决方案:
安装完成anaconda环境后,在anaconda prompt下安装tensorflow,命令运行成功了,但是直接在“开始”列表中点击Spyder ,然后进入Spyder的开发环境。运行自己的程序,出现上述问题,显示没有tensorflow模块。
查找了网上很多资料和文章,有几个原因。 原因1:python和tensor版本不一致。
原因2:确实就是没有安装tensorflow。
原因3:python运行环境中没有配置好tensorflow,没有在tensorflow的环境下打开它们。 参考2-1
- 我们需要在tensorflow的环境中安装ipython 和Spyder两个插件。
- 打开
Anaconda Navigator ,选择Not installed ,找到 ipython 和Spyder 并安装install 、apply 。 - 重新在正确打开的Spyder环境中运行程序,即可以正常执行,问题解决。
问题3:AttributeError: module ‘tensorflow’ has no attribute ‘Session’
原因及解决方案:
在安装完成TensorFlow后,需要验证环境是否安装成功,所以使用示例程序,看是否能运行成功,于是出现了该问题的错误。 因为在新的Tensorflow 2.0版本中已经移除了Session这一模块,改换运行代码。 示例代码如下:
import tensorflow as tf
hello = tf.constant('Hello, TensorFlow!')
sess = tf.Session()
print(sess.run(hello))
参考3-1后:
- 改出错的那一行
tf.Session() 的代码为tf.compat.v1.Session() ,运行,问题解决。
问题4:RuntimeError: The Session graph is empty. Add operations to the graph before calling run().
原因及解决方案:
在安装完成TensorFlow后,需要验证环境是否安装成功,所以使用示例程序,看是否能运行成功,于是出现了该问题的错误。 示例代码如下:
import tensorflow as tf
hello = tf.constant('hello,tensorflow')
sess= tf.compat.v1.Session() #版本2.0的函数,这里也得注意
print(sess.run(hello))
参考4-1后:
- 加上这一行
tf.compat.v1.disable_eager_execution() ,运行代码,问题解决。
问题5:you have missing dependencies Spyder: You have missing dependencies! #Mandatory: nbconvert>=4.0
现象
原因及解决方案:
参考5-1后:
-
在Spyder菜单栏选择Help–>Dependencies可以查看当前安装版本的依赖包及各自安装情况:可以看到确实少了这个包的依赖。 -
用conda list查看包情况:就在那里,列表中有该包。 -
windows10 环境下执行:conda install -c conda-forge nbconvert 。 -
重新在命令行中的py39环境(改为自己创建的环境变量即可)下,输入Spyder 进入开发环境:发现没有报错了; -
查看help的依赖包,对应的包已经有了 ,问题解决。
问题6:ModuleNotFoundError: No module named ‘PIL’
原因及解决方案:
参考6-1:
- 退出Spyder;在命令行输入
pip install Pillow ; - 再次通过命令行
Spyder 进入环境,运行代码,问题解决。
问题7:ModuleNotFoundError: No module named ‘matplotlib’
现象
原因及解决方案:
参考7-1:
- 退出Spyder;在命令行输入
pip install matplotlib ; - 再次通过命令行
Spyder 进入环境,运行代码,问题解决。
|