很久前安装了anaconda,这次选修课需要用TensorFlow就开始尝试使用一下,没想到一上来就遇到各种问题
文章目录
1. 在anaconda navigator上安装虚拟环境
安装好后,进入 anaconda prompt,通过如下命令
# (base) C:\Users\yyq>
> conda activate env_name
# (env_name) C:\Users\yyq>
切换到虚拟环境中。常用anaconda命令参考:Anaconda常用的命令
2. 添加清华、中科大镜像
参考:
添加后不再需要fq,提高网络连接速度(有时候会因为“网络连接”问题而报错,如连接速度过慢等,这时候就需要镜像网站)
conda config --add channels https://mirrors.xxxx
conda config --set show_channel_urls yes
之后还需要在 C:\Users\yyq
目录下的 .condarc
文件中将 “-defaults” 删掉。
3. 安装各种包
conda
参考:conda 安装指定版本的指定包 和 anaconda 安装指定源的包
- 安装库 [指定channel或版本]:conda install [- -channel https://xxx] pkg_name[==0.22]
- 查看库的版本:conda list pkg_name
- 更新库的版本 [指定channel]:conda update [- -channel https://xxx] pkg_name
- 更新所有包:conda update --all
- 在镜像网站中查找库:conda search pkg_name
- 安装其他源的包:anaconda search -t conda pkg_name 加 anaconda show pkg_name
这里需要注意,若出现了 “Found conflicts” 的报错,可能是各个库的版本在安装和调整的过程中产生不匹配。可以采用先 conda update --all
再安装的方式。
pkg1: sklearn
这里需要说明: 如果虚拟环境是建立在python3.5上的,则有些pkgs无法安装最新版本。例如 sklearn
,在python3.5下,直接在anaconda prompt中用 conda 进行安装
conda install scikit-learn
会显示只能安装 0.19版本,而老师的课件需要sklearn版本 >= 0.20。
开始时,我尝试 指定安装版本 进行安装
conda install scikit-learn=0.22
显示报错
报错显示我的python版本3.5过低。我是直接删了环境直接重新装了,因为当时还没有安装什么包,而且查阅资料后发现更新python版本有点麻烦-_-#。
而在python3.6下,直接 conda 安装还是只能0.19版本。查阅资料后,我发现是因为调用的第一个镜像网站在此时只能安装0.19版本,想安装更多版本需要
- 查找哪些镜像网站有更新的版本
- 指定从该镜像网站上下载
查找镜像网站的命令是
conda search pkg_name
会显示这个pkg的所有版本及对应的 channel。例如
可以看到,0.19以上的版本在另一个镜像网站上,于是指定安装命令
conda install --channel https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/ scikit-learn
注意 channel 名称要写全!(网址最后的 “/” 可加可不加,有的教程中说不能加,但我加了好像也没事)
pkg2: jupyter
conda install jupyter
安装完这个包之后在开始菜单栏里会生成虚拟环境下的jupyter
传送门:
这里需要注意,在虚拟环境下(即不是base),第二篇传送中提到的terminal is unavailable!!
pkg3: tensorflow
参考:关于TensorFlow旧版本不能直接 import keras 的问题解决
还需要注意tensorflow与keras版本的匹配问题,参考:
低版本的tensorflow调用keras参考:
numpy
参考:关于安装ANACONDA遇到的无法定位动态链接库问题
这里需要注意,链接动态库的问题也可能是各个版本之间版本不匹配,可以尝试用 conda update --all
解决!
keras
安装keras比较复杂,需要三步
- 安装mingw libpython(两个包)
- 安装theano
- 安装keras
pytorch
直接从官网复制命令粘贴即可。具体安装教程:
注意,不要加 -c pytorch
才会默认从清华源下载相应的包:
conda install pytorch torchvision cpuonly
pip
一般来说,conda和pip不应该混用。例如,我在之前安装 sklearn 版本过低时,也尝试了用pip安装
pip install scikit-learn
结果安装的确实是 0.22版本,而且安装路径为 C:\Users\yyq\Anaconda3\envs\tf\Lib\site-packages
。但之后再使用 conda install 进行安装时就会报错。当删除掉这个安装时
pip uninstall scikit-learn
再进行conda install才不再报错。
pkg1: tensorflow2.0
参考:
- 创建anaconda虚拟环境并安装TensorFlow2.0+keras
- win10 Tensorflow(CPU版) ERROR: Exception: Traceback (most recent call last)
- tensorflow安装,出现PermissionError: [WinError 5] 拒绝访问的问题
在第一篇推送中,会出现报错,在第二篇中可以得到解决,正常安装。但是第二篇的方法导致了新的报错。之后又结合了第三篇推送(增加 --user
参数)。最终解决办法:
pip install --user tensorflow -i https://pypi.douban.com/simple
tf2.0相关后续参考:
- tensorflow2.0 基础二 创建tensor数据操作
- TensorFlow Keras使用介绍
- tensorflow.keras
- keras学习- No module named ’ tensorflow.keras ’ 报错,看清 tf.keras与keras
- 【TensorFlow2.0】以后我们再也离不开Keras了?
pytorch
参考:
注意:
- 在安装时需要在官网选择
cuda: None
,然后复制command直接安装 - 在import
torchviz
时,还需要提前安装好graphviz
,再重启kernel。具体参考:
- 关于pytorch网络模型可视化函数make_dot的一些问题
- 解决failed to execute [‘dot’, ‘-Tsvg’], make sure the Graphviz executables are on your systems
另注, conda 与 pip 的区别
4. 常见问题小计
4.1 网络连接问题
解决方法:
- 添加镜像网站(清华、中科大)
- 关闭fq
4.2 动态库链接问题 or “Found conflicts!” or “frozen. Retrying flexible”
都可能是各个库版本之间不匹配
- 尝试更新所有包
conda update --all
4.3 UnsatisfiableError问题
一般是python版本与库不兼容。可以考虑
- 升级python版本
- 重新搭建适当python版本的虚拟环境
- conda update conda(没尝试过)
5. 安装 jupyterlab
conda install jupyterlab
介绍:JupyterLab,极其强大的下一代notebook!
配置工作路径参考:最简单 jupyterlab (jupyter notebook 类似)工作目录(起始位置)的配置
但是,有网友表示在jupyterlab中 import torch 会显示报错 “No module named ‘torch’”(下面第二篇)
- Ubuntu的jupyter notebook中出现"No module named torch"的解决方法
- Github: ModuleNotFoundError: No module named ‘torch’
详细设置可查阅 google
后记
看到终于没有报错的时候,我枯辽!(然而只是各种import成功而已,入门级渣渣)