现在有一台linux服务器,但是里面的python以及包版本都比较老,也没有安装cuda,所以我现在从头配置一下tensorflow的python环境,记录以方便下次用
如果是直接在Linux系统中打开的终端(不是通过远程连接的)
复制:Ctrl + Shift + C,粘贴:Ctrl + Shift + V
如果是在windows中通过CMD远程连接的linux
复制:鼠标选中,然后按鼠标右键,粘贴:鼠标右键
Xshell远程连接的linux
复制:Ctrl+Insert,粘贴:Shift+Insert
额外说一下,在windows中,Git Bash中也是 用的Ctrl / Shift + Insert
cat /proc/cpuinfo | grep 'model name' |uniq
user@pc:~$ cat /proc/cpuinfo | grep 'model name' |uniq
model name : Intel(R) Xeon(R) CPU E5-2630 v4 @ 2.20GHz
free -h
user@pc:~$ free -h
total used free shared buff/cache available
Mem: 125G 4.0G 56G 34M 64G 121G
Swap: 61G 0B 61G
如果直接要以G为单位,可以用free -g
, M用单位free -m
df -h
user@pc:~$ df -h
Filesystem Size Used Avail Use% Mounted on
udev 63G 0 63G 0% /dev
tmpfs 13G 11M 13G 1% /run
/dev/sda6 188G 46G 133G 26% /
tmpfs 63G 292K 63G 1% /dev/shm
tmpfs 5.0M 4.0K 5.0M 1% /run/lock
tmpfs 63G 0 63G 0% /sys/fs/cgroup
/dev/sda1 361M 171M 168M 51% /boot
/dev/sda7 222G 186G 24G 89% /home
tmpfs 13G 20K 13G 1% /run/user/108
tmpfs 13G 0 13G 0% /run/user/101
tmpfs 13G 0 13G 0% /run/user/102
tmpfs 13G 16K 13G 1% /run/user/105
tmpfs 13G 0 13G 0% /run/user/103
对于服务器,我们普通用户只能用里面的 /home,所以其它盘的只要没占满可以不用管它
lspci | grep -i vga
user@pc:~$ lspci|grep -i vga
04:00.0 VGA compatible controller: NVIDIA Corporation Device 1b02 (rev a1)
06:00.0 VGA compatible controller: NVIDIA Corporation Device 1b02 (rev a1)
07:00.0 VGA compatible controller: NVIDIA Corporation Device 1b02 (rev a1)
08:00.0 VGA compatible controller: NVIDIA Corporation Device 1b02 (rev a1)
0c:00.0 VGA compatible controller: NVIDIA Corporation Device 1b02 (rev a1)
0d:00.0 VGA compatible controller: NVIDIA Corporation Device 1b02 (rev a1)
0e:00.0 VGA compatible controller: NVIDIA Corporation Device 1b02 (rev a1)
0f:00.0 VGA compatible controller: NVIDIA Corporation Device 1b02 (rev a1)
12:00.0 VGA compatible controller: ASPEED Technology, Inc. ASPEED Graphics Family (rev 30)
一般这样就能直接显示出显卡型号,但是如果没装显卡驱动的话,显示出的型号会不一样,比如我这个1b02, 在正常情况下是应该显示出显卡型号的,如果想知道这个1b02是什么的话可以去这个链接查一下,结果如下图
我下的版本是Anaconda3-5.3.1-Linux-x86_64.sh
,用FileZilla传到了服务器,传的还挺快
切换到安装包存放的目录,然后用bash Anaconda3-5.3.1-Linux-x86_64.sh
就可以开始安装了
user@pc:~/lrm$ bash Anaconda3-5.3.1-Linux-x86_64.sh
Welcome to Anaconda3 5.3.1
In order to continue the installation process, please review the license
agreement.
Please, press ENTER to continue
>>>
===================================
Anaconda End User License Agreement
===================================
Copyright 2015, Anaconda, Inc.
All rights reserved under the 3-clause BSD License:
...
后面可以一直按回车,把这个什么许可协议还是啥的过完,后面就需要输入yes
Do you accept the license terms? [yes|no]
[no] >>>
Please answer 'yes' or 'no':'
>>> yes
Anaconda3 will now be installed into this location:
/home/user/anaconda3
- Press ENTER to confirm the location
- Press CTRL-C to abort the installation
- Or specify a different location below
[/home/user/anaconda3] >>>
PREFIX=/home/user/anaconda3
installing: python-3.7.0-hc3d631a_0 ...
Python 3.7.0
installing: blas-1.0-mkl ...
...
上面这儿应该是能改变安装目录的,但是我没管它,用默认位置就行了,所以它就安装在了我的用户目录下
最后会问是否安装VS code,我没装
Do you wish to proceed with the installation of Microsoft VSCode? [yes|no]
>>> no
这下主体就安装完了,可以试一下用conda -V
看啥反应
user@pc:~/lrm$ conda -V
conda: command not found
此时识别不出来conda命令,还需要配置一下环境
用vim编辑器在配置文件中添加一行路径信息,输入vi ~/.bashrc
,回车之后看到的应该是这样
此时按 i
进入编辑模式,然后输入export PATH=/home/user/anaconda3/bin:$PATH
,可以直接就在第一行输,然后回车就好,那个路径需要根据自己的路径来,主要是其中的user
可能需要改改,输入之后如下图
如果没用过vim的,刚进来可能有点懵,但是不要紧,照着我这说的来就行,把那一行输完后,也就是像上图这样
然后 按ESC
退出编辑模式
再按:wq
,再回车,注意前面有个冒号,这是退出并保存。
再输入 source ~/.bashrc
, 回车
就像下面这样,再用conda -V
测试一下,就装好了
user@pc:~$ vi ~/.bashrc
user@pc:~$ source ~/.bashrc
user@pc:~$ conda -V
conda 4.5.11
这下就可以用安装其它的库了
换源: anaconda 安装好后,最好给安换个源,也就是把user目录下的.condarc
(这个带.
的是个隐藏文件)里的内容换成如下这样,弄这么多目录是因为有的包可能在不同的链接才能找到,要是找不到它就报错了导致安不上
ssl_verify: true
channels:
- http://mirrors.ustc.edu.cn/anaconda/pkgs/free/win-64
- http://mirrors.ustc.edu.cn/anaconda/cloud/conda-forge/win-64
- http://mirrors.ustc.edu.cn/anaconda/pkgs/main/win-64/
- http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/
show_channel_urls: true
以下是我们用服务器的资源,在本地运行Jupyter,但是使用的时候需要将自己的数据那些传到服务器上,再在本地处理
在刚装完Anacoda 之后,我们先来更新一下pip
user@pc:~$ pip install -i https://pypi.mirrors.ustc.edu.cn/simple --upgrade pip
也可以换个源
pip install -i http://mirrors.aliyun.com/pypi/simple/ --upgrade pip --trusted-host mirrors.aliyun.com
因为我发现要是pip版本比较旧的装某些包,一装就直接失败了,之前找了好久的原因,后来才发现是pip版本过旧。
然后再升级一下jupyter lab,因为它 默认装的版本比较旧
user@pc:~$ pip install -i https://pypi.mirrors.ustc.edu.cn/simple --upgrade jupyterlab
这个更新还用了挺长时间
以上这两个更新可以不用,看自己需要
如果在更新或者安装其它包的时候报如下错误:
ERROR: Cannot uninstall 'terminado'. It is a distutils installed project and thus wecannot accurately determine which files belong to it which would lead to only a partial uninstall.
那就运行一下如下代码,再继续之前的更新或安装
pip install terminado --upgrade --ignore-installed terminado
远程配置jupyter lab 和jupyter notebook的方法差不多
在终端中输入
jupyter lab --generate-config
user@pc:~$ jupyter lab --generate-config
Writing default config to: /home/user/.jupyter/jupyter_lab_config.py
user@pc:~$
然后进入ipython,按如下内容输入
In [1]: from jupyter_server.auth import passwd
In [2]: passwd()
Enter password:
Verify password:
Out[2]: 'sha1:8651a2bf61f4:b78752697ae2d72345112315c8a482f124005d94'
In [3]:
目的是生成一个密码的哈希值,马上需要用,上面输入的密码可以自己任意取,将生成的这一段哈希值先复制了保存在那
然后用vim编辑器打开刚才生的配置文件:vi .jupyter/jupyter_lab_config.py
打开后 按i
进入编辑模式,直接在文件开头输入以下内容,要是方便的话可以用远程桌面连接,进到图形化界面用gedit打开会更方便些。
c.ServerApp.ip='*' # 表示所有ip皆可访问
c.ServerApp.password = 'sha1:8651a2bf61f4:b78752697ae2d72345112315c8a482f124005d94' # 前面生成的密码哈希值
c.LabServerApp.open_browser = False # 禁止打开浏览器
c.ServerApp.port =8888 # 随便指定一个端口,默认为8888
c.ServerApp.allow_remote_access = True
如下图这样
注:在这个地方我明明都弄好了,但是还是访问不了不知道什么原因,所以我就用远程桌面连接进到了服务器的图形化界面,用gedit把要改的地方挨个改过来了,也就是没有都放在最前面,就像下图这样,但这也是没找到原因才这样做的,改了之后一保存就可以正常访问了
输入完毕 按:wq
保存并退出。
然后在终端中输入jupyter lab
启动jupyter lab 服务。
这下就可以在windows中启动它了,启动方式如下:ip:port
,其中的ip是你远程服务器的Ip,port是刚才设置的8888
如下图,然后输入密码就可以访问了
如果在windows中想要更改默认打开目录可以修改这个c.ServerApp.root_dir
据我观察,好像就只是第一次的时候需要输入密码,之后就不用了
因为服务器上原来装了个python2.7 python3.5,现在又有了一个Python3.7,为了防止弄混,最好还是弄一个虚拟环境保险些
本来还想安装GPU驱动以及tensorflow-gpu的,留作下周再弄吧,昨天弄这个要了挺长时间的