故事起源于工作中需要一个tf1.15的环境,然后我平时用的是2.3或者1.14,就得自己再重新安装一个tf1.15的环境,然后发现每一次安装环境都得去google一下命令,嗯,不要问为什么,问就是用的少,记性差,嗯,一定是的。。。
so,干脆这里就自己写个小文章,把常用的这些指令都在这里简单的罗列说明一下好了。
大致会包括:
需要注意的是,因为这里大部分都是我在工作中遇到的一些常用命令的整理,因此逻辑大致会有一些,系统性却一定会有所欠缺。
另外就是,由于我工作中主要使用的就是linux系统,基本不涉及windows系统,因此这里的内容主要针对linux系统,在windows系统中可能出现不匹配的情况,还烦请读者谅解。
众所周知,python有许许多多的外部工具包,而不同的环境有着不同的包和版本的需求,因此,很多情况下要在一个环境中兼容不同的包事实上还是一个比较坑爹的事。
但是,运气比较好的事,python的语言特性事实上也就意味着他的运行方式就是一个虚拟机,因此,事实上我们可以将整个环境进行打包创建一个自定义的虚拟环境进行环境的隔离和自定义。
要实现这种功能,常用方式的就是使用anaconda,这里,我们介绍他的迷你版本,miniconda的使用。
miniconda的下载其实也蛮简单的,只要去官网下载相应版本的miniconda然后进行安装就行了。
给出miniconda的官网链接如下:
当然,如果太慢的话也可以从清华源当中进行miniconda的下载:
基于miniconda创建和删除虚拟环境事实上也就各自一行命令的事,我们直接给出其对应的命令如下:
创建虚拟环境
miniconda创建虚拟环境的命令如下。
conda create -n name python=3.6*
其中,-n
字段用于指定创建的虚拟环境的名称,而最后的python=3.6*
用于指定该虚拟环境的python版本为python3.6。
一个典型的例子如下:
conda create -n py3 python=3.6*
当然,和大多数使用场景相一致,-n
也可以使用全名--name
进行替换。
删除虚拟环境
miniconda删除虚拟环境的命令如下:
conda remove -n name
例:
conda remove -n py3
miniconda虚拟环境的使用方法也比较简单,要用的时候激活环境就行了。
一些常用的命令包括:
查看当前安装的虚拟环境列表
conda info --envs
启动虚拟环境
source activate py3
关闭虚拟环境
source deactivate
不过,在4.4版本之后的miniconda当中,貌似source命令已经被conda命令进行替换了,但是本质上也没啥差别。
jupyter的安装事实上没啥好多说的,因为他已经被纳入到了pip包当中,因此,我们可以简单的通过pip安装命令进行jupyter的安装。
安装命令如下:
pip install jupyter
jupyter的使用如果是在本地就极其简单,只需要调用下述命令即可。
jupyter notebook
电脑就会自动启动默认浏览器然后进入到jupyter notebook页面。
当然,如果不使用notebook的话也可以使用jupyter lab,他的命令大同小异,即为:
jupyter lab
但是,需要注意的是,实际在工作中,我们真实的工作环境往往是在服务器上,因此,我们事实上需要在服务器端启动jupyter notebook,然后在本地端进行服务的调用。
要实现这个功能事实上也比较简单,就和tensorboard命令一样,指定一下外部可以访问即可。
唯一的区别在于,tensorboard指定外部端口可以通过ip进行访问的方式为:
tensorboard --logdir= --host=0.0.0.0 --port=6006
而jupyter notebook的相应命令为:
tensorboard notebook --ip=0.0.0.0 --port=7007
在启动了notebook之后,我们就可以创建一个jupyter notebook进行代码写作和实验,但是,需要为其选择一个环境。
因此,这里,我们还需要一个额外的步骤就是将conda创建的虚拟环境加载到notebook当中。
要实现这个功能,首先,我们需要安装一下ipykernel,安装命令如下:
pip install ipykernel
而后,调用下述命令将环境加载到jupyter当中即可。
python -m ipykernel install --user --name py3 --display-name py3
其中,--name
字段表示需要加载的虚拟环境的名称,--display-name
表示jupyter当中对应环境的显示名称。通常情况下,建议两者相同。
最后,我们在来看一下一些我工作中时常用到的shell命令,扔在这里做个备忘,省的以后长时间不用给忘了。。。
当然,这部分内容就会很凌乱,算是一个备忘录吧,大家看看也就行了
ls
/ll
:查看目录下文件,其中ll
命令建议使用ll -h
;vim
/vi
:编辑文件;top
/htop
:查看服务器当前进程 & 资源使用情况;export
:设置环境变量;cp
/mv
/rm
:复制、剪切&删除文件,其中,对文件夹操作需要加上-r
指定;chmod
:修改文件权限;grep
:字符串匹配,常用样例pip list | grep tensor
;wc -l
:查看文件行数;head -n 10 file
:查看文件前10行内容;cd
:进入文件夹;>
:将屏幕中的输出写入到文件当中,例如pip list > r.txt
nvidia-smi
gpu-stat
screen -s
:创建一个screen窗口;screen -r
:恢复screen窗口;which
:查看命令的完整路径,例如which python
pip list show
:查看当前环境中安装的第三方库;tar -zcvf filepath filename.tgz
:文件压缩;tar -xcvf filename.tgz
:文件解压