window下安装tensorflow问题
原创
©著作权归作者所有:来自51CTO博客作者是丹凤呀的原创作品,请联系作者获取转载授权,否则将追究法律责任
1、在window下安装tensorflow遇到了进程无法访问的问题
Could not install packages due to an EnvironmentError: [WinError 32] 另一个程序正在使用此文件,进程无法访问。: 'C:\\Users\\Danfeng\\AppData\\Local\\Temp\\pip-req-tracker-bbyndeit\\5bbe998f538b4f10a67bf8c39e18ac2bac633da93d0a9862fab70453'
Check the permissions.
解决:
我的是windows系统,按照官网步骤装了py 3.6.0的版本,然后装了pip 跟virtualenv,如下图
先下载get-pip.py这个文件然后
//安装pip,后面pip的使用可能会出现然你update pip ,根据提示命令行 直接升级就可以了
python get-pip.py
//安装virtualenv
Install virtualenv via pip: $ pip install virtualenv
Test your installation: $ virtualenv --version
然后是官网第2步所有执行完,注意cmd 以管理员身份运行
然后直接执行了pip install tensorflow
会出现上面的错误,此时,我再次运行了上面的 .\venv\Scripts\activate
,然后再次运行pip install tensorflow
,如果此时还报错,就停留一会儿多尝试几次,就可以安装成功了。
2、安装了tensorflow 运行py文件报错
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "C:\WINDOWS\system32\venv\lib\site-packages\tensorflow\__init__.py", line 22, in <module>
from tensorflow.python import pywrap_tensorflow # pylint: disable=unused-import
File "C:\WINDOWS\system32\venv\lib\site-packages\tensorflow\python\__init__.py", line 52, in <module>
from tensorflow.core.framework.graph_pb2 import *
File "C:\WINDOWS\system32\venv\lib\site-packages\tensorflow\core\framework\graph_pb2.py", line 6, in <module>
from google.protobuf import descriptor as _descriptor
解决:
在自动安装了tensorflow时, protobuf安装的是最新版本3.6.1, 出现了不兼容的问题。
更换为 protobuf 3.6.0即可
pip install protobuf==3.6.0
其他
下面是我记录了一下其他问题,可以忽略
1、物体识别训练
https://www.skcript.com/svr/realtime-object-and-face-detection-in-android-using-tensorflow-object-detection-api/ 2、ModuleNotFoundError: No module named 'PIL'
解决
3、protoc object_detection/protos/*.proto --python_out=.
报错
object_detection/protos/*.proto: No such file or directory
解决
这是因为目前的protoc3.5有Bug,换成3.4就好了
https://github.com/google/protobuf/releases/tag/v3.4.0
选择windows 版本(最下面),解压后将bin文件夹中的【protoc.exe】放到C:\Windows(其实就是环境变量中)
4、python object_detection/builders/model_builder_test.py
报错
Object Detection API error: “ImportError: cannot import name anchor_generator_pb2”
解决
protoc object_detection/protos/*.proto --python_out=.