0%

python环境配置

1. 使用Anaconda

Anaconda,中文大蟒蛇,是一个开源的Python发行版本,其包含了conda、Python等180多个科学包及其依赖.可通过Anaconda下载。选择合适版本。

注意:一个python环境应当只安装一个版本的tensorflow,如果还需要安装其他版本的tensorflow,应该再创建一个python环境

1.1 anaconda创建指定python环境

主要命令为配置自己环境conda create -n 环境的名字 python=版本号

  • 步骤一:打开Anaconda powershell prompt。
  • 步骤二:输入命令conda create -n py36 anaconda=2020.02 python=3.6,版本python=3.x自己指定。
  • 步骤三:应用该环境conda activate py36
  • 下载的环境会在D:\pythonDeve\Anaconda\envs\py36

退出该环境使用conda deactivate py36 显示当前所有已发现的环境:conda info --envs

1.2pycharm中导入该python版本编译环境:
  • 步骤一:打开pycharm,点击File\settings\project:项目名
  • 步骤二:选择上面提到的路径导入
1.3 配置python环境变量

配置python环境变量是为了能在命令行窗口中能够找到该命令。一般建议配置,因为后续的许多安装都要用到pipconda

1.4 安装指定版本tensorflow
  • 查看当前可使用的tensorflow版本conda search --full tensorflow
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
(py36) PS C:\Users\Trluper> conda search  --full tensorflow
>>
Loading channels: done
# Name Version Build Channel
tensorflow 1.7.0 0 pkgs/main
tensorflow 1.7.1 0 pkgs/main
tensorflow 1.8.0 0 pkgs/main
tensorflow 1.8.0 haa95532_0 pkgs/main
tensorflow 1.9.0 eigen_py35hb0e21f4_1 pkgs/main
tensorflow 1.9.0 eigen_py36h0b764b7_1 pkgs/main
tensorflow 1.9.0 gpu_py35h0075c17_1 pkgs/main
tensorflow 1.9.0 gpu_py36hfdee9c2_1 pkgs/main
tensorflow 1.10.0 eigen_py35h38c8211_0 pkgs/main
tensorflow 1.10.0 eigen_py36h849fbd8_0 pkgs/main
tensorflow 1.10.0 gpu_py35ha5d5ef7_0 pkgs/main
tensorflow 1.10.0 gpu_py36h3514669_0 pkgs/main
tensorflow 1.10.0 mkl_py35h4a0f5c2_0 pkgs/main
tensorflow 1.10.0 mkl_py36hb361250_0 pkgs/main
tensorflow 1.11.0 eigen_py36h346fd36_0 pkgs/main
tensorflow 1.11.0 gpu_py36h5dc63e2_0 pkgs/main
tensorflow 1.11.0 mkl_py36h41bbc20_0 pkgs/main
tensorflow 1.12.0 eigen_py36h67ac661_0 pkgs/main
tensorflow 1.12.0 gpu_py36ha5f9131_0 pkgs/main
tensorflow 1.12.0 mkl_py36h4f00353_0 pkgs/main
tensorflow 1.13.1 eigen_py36hf0a88a9_0 pkgs/main
tensorflow 1.13.1 eigen_py37h2a8d240_0 pkgs/main
tensorflow 1.13.1 gpu_py36h1635174_0 pkgs/main
tensorflow 1.13.1 gpu_py36h9006a92_0 pkgs/main
tensorflow 1.13.1 gpu_py37h83e5d6a_0 pkgs/main
tensorflow 1.13.1 gpu_py37hbc1a9d5_0 pkgs/main
tensorflow 1.13.1 mkl_py36hd212fbe_0 pkgs/main
tensorflow 1.13.1 mkl_py37h9463c59_0 pkgs/main
tensorflow 1.14.0 eigen_py36hf4fd08c_0 pkgs/main
tensorflow 1.14.0 eigen_py37hcf3f253_0 pkgs/main
tensorflow 1.14.0 gpu_py36h305fd99_0 pkgs/main
tensorflow 1.14.0 gpu_py36heb2afb7_0 pkgs/main
tensorflow 1.14.0 gpu_py37h2fabf85_0 pkgs/main
....
  • 查看tensorflow包信息及依赖关系conda info tensorflow
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
(py36) PS C:\Users\Trluper> conda  info  tensorflow
tensorflow 1.15.0 mkl_py36h997801b_0
------------------------------------
file name : tensorflow-1.15.0-mkl_py36h997801b_0.conda
name : tensorflow
version : 1.15.0
build string: mkl_py36h997801b_0
build number: 0
channel : https://repo.anaconda.com/pkgs/main/win-64
size : 4 KB
arch : None
constrains : ()
legacy_bz2_md5: ad6e18c8cdd17fe2bd396177ba904065
legacy_bz2_size: 3829
license : Apache 2.0
license_family: Apache
md5 : aa94e7a35e3cf46219e5750ea5674fa0
platform : None
sha256 : 04bf8a4c378f150163cbdfe1cf5d996c1251b9231acf2d723336668259a4e0e4
subdir : win-64
timestamp : 1573235601611
url : https://repo.anaconda.com/pkgs/main/win-64/tensorflow-1.15.0-mkl_py36h997801b_0.conda
dependencies:
_tflow_select 2.3.0 mkl
python 3.6.*
tensorboard >=1.15.0
tensorflow-base 1.15.0 mkl_py36h190a33d_0
tensorflow-estimator >=1.15.0

主要看dependencies,可以看到tensorflow对应的python版本

  • 安装指定版本tensorflow:conda install tensorflow-cpu=1.13,其中-cpu指cpu版本,还有-gpu版本
1
2
3
4
//指定清华源,但有一些会没有
pip install -i https://pypi.mirrors.ustc.edu.cn/simple tensorflow-cpu==2.1.0
//国外源
pip install tensorflow-cpu==2.1.0
  • 激活tensorflowconda activate tensorflow
1
conda activate tensorflow
  • 查看该环境下安装的tensorflow:conda list tensorflow
1
2
3
4
5
6
(py36) PS C:\Users\Trluper> conda list tensorflow
# packages in environment at D:\pythonDeve\Anaconda\envs\py36:
#
# Name Version Build Channel
tensorflow-cpu 2.1.0 pypi_0 pypi
tensorflow-estimator 2.1.0 pypi_0 pypi
1.5 安装指定版本keras
  • 查询所有版本的keras
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
(py36) PS C:\Users\Trluper> conda info keras
keras 2.6.0 pyhd3eb1b0_0
------------------------
file name : keras-2.6.0-pyhd3eb1b0_0.conda
name : keras
version : 2.6.0
build string: pyhd3eb1b0_0
build number: 0
channel : https://repo.anaconda.com/pkgs/main/noarch
size : 721 KB
arch : None
constrains : ('tensorflow 2.6.0',)
legacy_bz2_md5: 9c47afd01ba08eeb2130cf9811c59918
legacy_bz2_size: 848011
license : MIT
license_family: MIT
md5 : 4aeef3bf046f7e1ed44efe59fb7d3e23
noarch : python
package_type: noarch_python
platform : None
sha256 : c0156c162ce479d5eafd468acb956b977b7b9ae9236494b698d5b4dab02cdd7d
subdir : noarch
timestamp : 1643826831715
url : https://repo.anaconda.com/pkgs/main/noarch/keras-2.6.0-pyhd3eb1b0_0.conda
dependencies:
python >=3.6
....
  • 安装指定版本keras
1
(py36) PS C:\Users\Trluper> pip install keras==2.6.0
1.6 Annconda中使用Jupyter

在Annconda prompt中切换自己想要的python环境,然后直接输入jupyter notebook即可

1
2
(base) PS C:\Users\Trluper> conda activate py36
(py36) PS C:\Users\Trluper> jupyter notebook

1.7 jupyter导入文件夹

导入压缩包后,创建一个python文件输入下述代码并运行,可能会出现乱码

1
2
3
4
import zipfile
import os
files = zipfile.ZipFile('文件夹名称.zip','r')
files.extractall(os.getcwd())
当然你要可以在本地jupyter的工作路径上直接解压该文件更快,也更推荐这种方法:

1.8 更改jupyter的工作路径

默认情况下jupytr的工作路径weiC:\Users\用户名,我们不希望放在C盘,可以通过以下方法更改。

  • 首先找到对于的python环境的Annconda prompt进入,输入命令jupyter notebook --generate-config得到路径
  • 根据上面运行处的路径打开C:\Users\Trluper\.jupyter\jupyter_notebook_config.py文件
  • 在文件中找到c.NotebookApp.notebook_dir = '',删除注释符#,并在单引号内写上自己的工作路径
  • 之后找到jupyter Notebook,点击属性,删除后面的"%USERPROFILE%/”
1.9 安装pytorch

pytorch的安装可以直接在官网复制相应版本的pytorch进行安装,注意区分GPU版本和CPU版本。复制后在Annconda prompt下进行执行,在执行前自己先切换到要安装pytorch的python虚拟环境,下面是pytorch 1.8.1版本的安装语句,上面的cuda是其对应cuda版本。

1
2
3
4
5
6
7
8
9
10
11
# CUDA 11.1
pip install torch==1.8.1+cu111 torchvision==0.9.1+cu111 torchaudio==0.8.1 -f https://download.pytorch.org/whl/torch_stable.html

# CUDA 10.2
pip install torch==1.8.1+cu102 torchvision==0.9.1+cu102 torchaudio==0.8.1 -f https://download.pytorch.org/whl/torch_stable.html

# CUDA 10.1
pip install torch==1.8.1+cu101 torchvision==0.9.1+cu101 torchaudio==0.8.1 -f https://download.pytorch.org/whl/torch_stable.html

# CPU only
pip install torch==1.8.1+cpu torchvision==0.9.1+cpu torchaudio==0.8.1 -f https://download.pytorch.org/whl/torch_stable.html
注:一般来说cuda高版本可兼容低版本pytorch,但高pytorch不能兼容低版本的cuda

python和pytorch的对应版本一般只要求python在3.6和3.9之间

1.10 安装mmlab的mmcv

MMCV 有两个版本:

  • mmcv-full: 完整版,包含所有的特性以及丰富的开箱即用的 CUDA 算子。注意完整版本可能需要更长时间来编译。
  • mmcv: 精简版,不包含 CUDA 算子但包含其余所有特性和功能,类似 MMCV 1.0 之前的版本。如果你不需要使用 CUDA 算子的话,精简版可以作为一个考虑选项。

安装CUDA版mmcv:

  • 从网址中选择自己对应的cuda版本、pytorch版本,如下https://download.openmmlab.com/mmcv/dist/cu101/torch1.8.0/index.html,其中cu后面的三个数字对应你的cuda版本号,torch后面的数字对应逆的pytorch版本号。
  • 将选择的whl包下载后,到指定的python虚拟环境进行安装,这里我将包下载到了D:\Applycation_SapceOfSourse,进入该路径后,执行pip install mmcv_full-1.5.3-cp37-cp37m-win_amd64.whl
  • 安装完成后运行check_installation.py脚本看是否安装成功

精简版

1
pip install mmcv

详情看mmlab的官方github

1.11 安装mmlab的mmdetection3D

待更新

详情看mmlab的mmdetection3D

2. 错误总览

2.1 cannot import name 'get_config'
  • 问题:导入语句from keras.datasets import mnist出现ImportError: cannot import name ‘get_config’

  • 解决方法ImportError: cannot import name ‘get_config’ 这个类型报错的问题我遇到的都可以通过导入包时使用tensorflow.keras解决,如下:成功解决

    1
    from tensorflow.keras.datasets import mnist