安装codeblocks
1 | sudo add-apt-repository ppa:damien-moore/codeblocks-stable |
输入密码后,会提示你敲【Enter】继续,然后如果一切OK的话,就会安装好这个ppa源。
继续敲:
1 | sudo apt-get update |
对源进行更新,这个过程会下载一些东西,请保持网络畅通。最后,开始安装:
1 | sudo apt-get install codeblocks |
OK了,只要网络不出问题,就大功告成,CodeBlocks就会顺利安装完成!
剩下要做的就是把快捷方式拽到启动器上方便打开就行了。
安装matlab2017a
本次安装过程很大程度上参考了Ubuntu 16.04 LTS下安装MATLABR2016b的内容,但是由于Matlab 2017a破解相关的处理存在不同,且在安装过程中,遇到了一些不加注意就会出问题之处,特新发一篇安装指南,为有需要的朋友省点时间。
Matlab 2017a的安装文件,我是在六维空间中下载的资源,大概有10个G,可以说比之前的版本都要大。安装文件由三个部分组成,分别为两个ISO镜像和一个用于破解的压缩包,如下图所示。
安装文件准备完毕后,首先解压用于破解的rar压缩文件。在Linux底下解压rar文件需要首先安装相应的解压缩工具。
1 | sudo apt-get install rar |
工具安装后,键入
1 | sudo rar x *.rar |
即可进行解压(用x参数可以保持压缩文件内的目录结构,若有e参数,虽然可以解压,但会损失目录结构,所有的文件都会被直接解压到当前目录下)。
破解包解压完毕后,就可以开始具体安装了。在Windows环境下,用虚拟光驱便可把上述的iso文件进行挂载后访问,在Ubuntu下,相应的操作更为简单。
和Windows环境下类似,我们首先需要挂载*dvd1.iso
文件,在*dvd1.iso
安装结束后会提示用户更换光盘,此时再挂载*dvd12.iso
即可。具体过程如下。
挂载*dvd1.iso
1 | mkdir /home/<user name>/Matlab |
mkdir语句创建了一个临时文件夹,用于挂载*dvd1.iso
以及稍后用到的*dvd2.iso
安装镜像。该临时文件夹可以根据需要自由创建,因为安装完成后就没有了,可以用rm
命令删除掉。<user name>
看当时的具体用户名称,做相应替换即可。特此说明,安装过程中我用的全部都是绝对路径,故该教程中的相关命令也全部采用绝对路径的表述方式。mount语句进行了*dvd1.iso
的挂载,该命令结束后,就会弹出相应的文件框。
安装开始
1 | sudo /home/<user name>/Matlab/install |
注意,运行该命令的时候,终端不能处在/home/<user name>/Matlab
目录底下,否则安装过程会被终止。
安装初始,会要求用户提供license number,选择离线验证,复制破解包解压后出现的readme.txt文件中的第一个安装密钥(09806开头)即可:
挂载*dvd2.iso
在安装过程进行到75%时(不同的机器和Matlab版本可能会略有不同),安装界面会弹出提示,要求插入*dvd2.iso
,此时,我们重新打开一个终端,一定要重新打开一个终端!键入如下命令(同*dvd1.iso
的挂载命令类似):
1 | sudo mount -t auto -o loop *dvd2.iso所在的绝对路径 /home/<user name>/Matlab |
挂载完毕后,回到Matlab的安装界面,点击继续即可,直到安装完毕即可。
结束安装
待安装完毕后,关闭安装界面,将用于挂载的文件夹取消挂载。
1 | sudo umount /home/<user name>/Matlab |
在实际操作过程中,上述命令运行了两次才得以删除该目录,想了一下,可能因为挂载了两次镜像吧。
成功解挂后,便可以删除这个文件夹了copy
1 | sudo rm -r /home/<user name>/Matlab |
破解过程
安装完成退出后,先不要急着打开Matlab,在完成如下的激活操作后,再打开。
1 | sudo mkdir /usr/local/MATLAB/R2017a/bin/licenses/ |
/usr/local/MATLAB/
Matlab默认的安装目录,用户可以在安装过程中指定安装的地点。破解包解压后,可得license_standalone.lic和libmwservices.so(libmwservices.so在R2017a目录内),如下图所示。
启动matlab
1 | sudo /usr/local/MATLAB/R2017a/bin/matlab |
第一次启动,我所下载的镜像仍会需要用户提供秘药文件,也就是上一步所说的license_standalone.lic文件,选择该文件进行激活即可。以后再打开Matlab就可以正常使用了。
如果觉得每次启动都要输这么一串命令很麻烦,用户可以更改~/.bashrc文件,添加永久别名,具体做法此处不再赘述。
1 | alias matlab='sudo /usr/local/MATLAB/R2017a/bin/matlab' |
我设置的永久别名的名称为Matlab2017a,所以每次只要输前几个字母,再按Tab键自动补齐就可以了。
设置快捷键与windows下相同
打开matlab --> file --> preferences --> Keyboard --> Shortcuts --> Keyboard Shortcuts Preferences --> Active settings
: 默认的是Emacs Default set
, 点击右边向下的箭头,选择 Windows Default Set
然后save as 点Ok,就可以了。
修复使用中文的问题
找到/usr/local/MATLAB/R2017a/bin/matlab
,在第一行下面添加
1 | export XMODIFIERS="@im=fcitx" |
安装matlab的MatConvNet
MatConvNet是一个实现卷积神经网络(CNN)的MATLAB工具箱,用于计算机视觉应用。 用这个工具箱,能很方便地在MATLAB中用GPU来进行训练。
要求
足够新的MATLAB版本(R2015b或更高版本)和一个支持C ++ 11的编译器(Visual Studio 2015,GCC 4.8,Xcode 7.3.1或更高版本)。 对于GPU计算,至少需要CUDA 7.5以及CuDNN v4(可选)或更新版本。
本次安装在如下实验环境中通过。
环境:
- MATLAB2018a
- ubuntu 16.04
- gcc 5.5.0
- matconvnet-1.0-beta25
下载工具箱
首先下载MatConvNet,并解压到你希望的文件夹,暂且称这个文件夹为
CPU版本的安装
打开MATLAB,在命令行输入
1 | mex -setup |
会提示如下信息,姑且先不管
1 | >> mex -setup C++ |
打开MATLAB,cd到你解压的那个matconvnet目录1
2cd /home/zdaiot/software/matconvnet-1.0-beta25/matlab
vl_compilenn
等待安装完毕即可。
在MATLAB命令行输入如下命令可以测试
1 | vl_testnn |
安装GPU版本
Matalb与cuda对应关系如下:
MATLAB | CUDA toolkit |
---|---|
R2018a | 9.0 |
R2017a | 8.0 |
R2016b | 7.5 |
R2016a | 7.5 |
R2015b | 7.0 |
你要是不知道该用哪个版本CUDA,输入下面命令,有人会告诉你:
1 | gpuDevice |
打开MATLAB,在命令行输入
1 | mex -setup |
会提示如下信息,姑且先不管
1 | >> mex -setup C++ |
打开MATLAB,cd到你解压的那个matconvnet目录1
cd /home/zdaiot/software/matconvnet-1.0-beta25/matlab
接下来,假设你只有唯一的CUDA且匹配你的MATLAB版本
直接运行如下命令
1 | vl_compilenn('enableGpu', true) |
如果你有很多CUDA,可以通过下面命令选择一个
1 | vl_compilenn('enableGpu', true, 'cudaRoot', 'yourpath/NVIDIA/CUDA-n.0') |
等待安装完毕即可。
在MATLAB命令行输入如下命令可以测试
1 | vl_testnn('gpu', true) |
下面的错误还没解决
1 | Failure Summary: |
cudnn暂时没有安装。
然后,输入以下指令,否则会出现Undefined function or variable 'vl_simplenn'.
1 | cd /home/zdaiot/software/matconvnet-1.0-beta25 |
安装最新版nodejs
下面方法会报错,现在使用这种安装方法
1 | curl -sL http://nsolid-deb.nodesource.com/nsolid_setup_3.x | sudo bash - |
更新ubuntu软件源
1 | sudo apt-get update |
安装nodejs
1 | sudo apt-get install nodejs |
更新npm的包镜像源,方便快速下载
1 | sudo npm config set registry https://registry.npm.taobao.org |
全局安装n管理器(用于管理nodejs版本)
1 | sudo npm install n -g |
安装最新的nodejs(stable版本)
1 | sudo n stable |
Q: apt-get update找不到文件
1 | // error code |
Q: node -v异常
1 | node -v |
安装vscode
常用设置
- 设置
workbench.editor.enablePreview
参数为false
. 否则跳转插件会出现ctrl+click always opens files in the same (second) tab
- 设置
"files.autoGuessEncoding": true,
可以使得每次vscode根据猜测编码打开文件。 - 设置
"extensions.ignoreRecommendations": true,
不让插件提示 - 设置
"editor.mouseWheelZoom": true
,滚轮可以调节字体大小 - 设置
workbench.editor.wrapTabs
为True,可以实现文件标签栏多行显示,而不是滚动显示 - 设置
window.openFoldersInNewWindow
为on
,可以在vscode中Open Folders In New Window。 - 设置
files.eol
为\n
,可以让windows下的换行符与linux下换行符保持一致。 - 设置
explorer.copyRelativePathSeparator
为/
,让windows下复制路径也是/
,而不是\
。 - 搜索
files.exclude
,删除**/.git
可显示.git
文件夹。 - 设置
"search.useIgnoreFiles": false,
,在搜索文件时可以搜索被添加到.gitignore
以及.ignore
中的文件。
一般来说,ANSI = Windows 1252 = CP 1252 = Windows code page 1252 = Windows Latin-1。但是在Vscode中使用windows 1252的bat文件还是会乱码,因此最好使用记事本编辑或者记事本另存为ANSI编码
在终端打开Vscode,直接输入code
指令。
常用快捷键
- 寻找文件:
Ctrl+P
(Cmd+P
on Mac),若一些指令搜索不到,可以看上面search.useIgnoreFiles
配置。
常用插件
markdown patse
,可以从浏览器截图等下载图片,放到与md文件相同的路径。使用的时候,复制图片,按住ctrl+alt+v即可。打开Vscode设置->扩展,将pasteImage.path
更改为./${currentFileNameWithoutExt}
,保存图片到以markdown文件同名的路径。windows下的为知笔记热键与该热键冲突了,更改为知笔记的热键即可。
在win10下可能需要将powershell的路径
C:\Windows\System32\WindowsPowerShell\v1.0
添加到系统环境变量Path
中,打开cmd,输入set PATH=C:
使得变量生效。
Settings Sync
,同步设置与插件。
更改语言
安装或者升级完后,打开进入软件,如果发现是英文版本,不要急。首先按F1快捷键或者Ctrl + Shift + P
,切入到命令行模式。输入Configure Language
(如果是中文版要切换到英文版输入“配置语言”)。
只需要将上面的”en”改为“zh-CN”即可,注意大小写。关闭vscode再次打开。若不行,安装Chinese
插件
用户设置与工作空间设置
VS Code提供了两种设置方式:
- 用户设置:这种方式进行的设置,会应用于该用户打开的所有工程;
- 工作空间设置:工作空间是指使用VS Code打开的某个文件夹,在该文件夹下会创建一个名为
.vscode
的隐藏文件夹,里面包含着仅适用于当前目录的VS Code的设置。工作空间的设置会覆盖用户的设置。
每个人都有自己的偏好,在使用VS Code进行开发时,都会根据自己的习惯来对VS Code进行用户级别的配置。
但是,当多人共同完成某个项目的时候,该项目会有一定的编码规范,如: 编辑某个语言时的设置,代码的缩进等等,这个时候就需要对该项目进行单独的工作空间级别的设置。
更改默认用户设置与工作空间设置
VS Code的设置文件为setting.json
。
用户设置的文件保存在如下目录:
- Window
%APPDATA%\Code\User\settings.json
- Mac
$HOME/Library/Application Support/Code/User/settings.json
- Linux
$HOME/.config/Code/User/settings.json
工作空间设置的文件保存在当前目录的.vscode
文件夹下。
三种方式更改默认的设置
- 使用编辑器直接打开setting.json文件;
- 点击 VS Code 的 文件 > 首选项 > 设置 ,可以打开设置面板;
- 在 VS Code 中使用
Ctrl+Shift+P
打开命令面板,输入Preferences: Open User Settings
或Preferences: Open Workspace Settings
。
更改工作空间设置
对某个语言进行特定配置
可以对某个语言进行专门的设定。在 VS Code 中使用 Ctrl+Shift+P
打开命令面板,输入Preferences: Configure language specific settings…
,然后选择相应的语言进行设置。
也可以直接对setting.json
进行编辑。如下:
1 | { |
Python路径问题
例如,当使用Vscode打开的文件夹pygcn
,此时Vscode的工作目录为pygcn
,该目录下的文件分布如下:
1 | . |
当运行pygcn/train.py
时,需要用的data/cora/cora.content
,此时读取该文件的代码为path="../data/cora/"
。但是在windows下运行该py文件时,是在整个工程目录下运行的,所以找不到该数据。
当然,我们可以更改代码,将path="../data/cora/"
改为path=os.path.join(sys.path[0],"../data/cora/")
,先获取py文件所在目录,然后合成数据集所在的目录。
但是这不是长久之计,查看了Vscode的设置,得到如下结论。
运行Python文件时路径设置
若想每次运行某个Python文件时,先自动切换到该文件所在的目录中。在
文件->首选项->设置
中,任选用户设置
或者工作区设置
。搜索python.terminal.executeInFileDir
,设置为True。若想在运行的时候,添加工程目录到
PYTHONPATH
,在文件->首选项->设置
中,任选用户设置
或者工作区设置
。搜索.env
,根据当前操作系统的不同(windows/Mac/Linux),在setting.json
中添加配置。以Linux
系统为例,如下所示:1
2
3
4
5{
"terminal.integrated.env.linux": {
"PYTHONPATH": "${workspaceFolder}"
},
}
调试Python文件时路径设置
- 若想每次运行某个Python文件时,先自动切换到该文件所在的目录中。使用vscode打开
pygcn/train.py
文件,点击调试->打开配置
,在打开的launch.json文件增加"cwd": "${fileDirname}"
,加完之后,在我的电脑下该文件整体如下:
1 | { |
- 若想在调试的时候,添加工程目录到
PYTHONPATH
,在打开的launch.json文件添加,"env": {"PYTHONPATH": "${workspaceFolder}${pathSeparator}${env:PYTHONPATH}"}
。此时若去掉"cwd": "${fileDirname}"
可以在调试的时候,不自动切换到该文件所在的目录。
vscode中的内置变量可以参考variables-reference
环境变量设置
调试
以python文件调试为例,若调试前需要执行
1 | export "LD_LIBRARY_PATH": "/data/home/zdaiot/.conda/envs/zd39/lib/python3.9/site-packages/nvidia/cublas/lib/:$LD_LIBRARY_PATH" |
则在.vscode/launch.json
文件中,添加如下:
1 | { |
运行
以python Run in terminal
为例,若运行前需要执行
1 | export "LD_LIBRARY_PATH": "/data/home/zdaiot/.conda/envs/zd39/lib/python3.9/site-packages/nvidia/cublas/lib/:$LD_LIBRARY_PATH" |
则在.vscode/settings.json
文件中,添加如下:
1 | { |
Python参数调试
如何在Vscode中进行Python脚本带参数调试呢?使用vscode打开train.py
文件,点击调试->打开配置
,在打开的launch.json文件增加如下内容:
1 | "args":[ |
此时对应的命令为:
1 | python3 main.py --exp_name omniglot_N5_S1_v2 --dataset omniglot --test_N_way 5 --train_N_way 5 --train_N_shots 1 --test_N_shots 1 --batch_size 300 --dec_lr=10000 --iterations 100000 |
设置目录树缩进
默认的目录树缩进较小,打开文件夹的时候,层级目录不是很清晰。在VSCode setting
中搜索tree
,将tree:indent
改为16。如下图所示:
设置代码检测与与格式化文档
Python
的代码错误检查通常用 pep8、pylint和flake8
,自动格式化代码通常用 autopep8、yapf、black
。这些工具均可以利用pip进行安装。
如果要使用 flake8
或要想 flake8
等工具起作用,前提是必须把 文件->首选项->设置
(settings.json
)中的”python.linting.enabled
“值设为“true”
,否则即使安装了这些工具,也起不到代码的错误提醒。
代码检测,在vscode中使用 flake8
为例:
1 | pip install flake8 |
打开文件->首选项->设置
(settings.json
),加入如下配置或者设置如下:
1 | # 开启linting, 开启 flake8,关闭pylint |
另外,若在vscode中安装了插件
pylance
,则它也代码进行检测,若想禁用它,可以设置"python.languageServer": "None"
。但是禁用之后,代码高亮显示很差劲。
格式化文档,以vscode中使用 autopep8
为例:
1 | pip install autopep8 |
打开文件->首选项->设置
(settings.json
),加入如下配置或者设置如下:
1 | "python.formatting.provider": "autopep8", |
pylint找不到Pytorch
Win10 中使用Anaconda安装完pytorch后,在VSCode中输入代码时发现,对于很多需要用到的torch里的函数,VSCode均会报错。
1 | ‘torch’ has no member ‘xxx’ |
经过搜索资料,找到了解决办法。
在VSCode setting
中搜索python.linting.pylintPath
并且修改值为(你的Anaconda安装路径)\pkgs\pylint-1.8.4-py36_0\Scripts\pylint
,修改完后就不会再报错了。
如下图:
Debug(调试)进入标准库文件/第三方包源码
如下图步骤所示,在调试的配置文件中,添加"justMyCode": false
,这个选项默认是True
git路径设置
centos原始的git路径为/usr/bin/git
。假设当在centos上重新编译安装git之后,新的git路径为/usr/local/git/bin/git
。
此时用Vscode打开一个git工程之后,发现没有git功能了。此时有两种解决方法:
- 推荐:在原始的git位置,建立软连接。
1 | ln -s /usr/local/git/bin/git /usr/bin/git |
- 在设置中搜索
git.path
,更改git路径:"git.path": "/usr/local/git/bin/git"
,如下图所示:
\n替换为换行
若遇到字符串,每行用\n分割,即使粘贴到vscode,读起来也很困难。在vscode用替换将\n替换为真正的换行。
注意替换的时候选择正则表达式:
安装mysql
1 | $: sudo apt-get install mysql-server |
其它常用指令:
1 | # 查看用户权限,注意mysql语句后面要加上分号 |
xshell
实际上这个软件是Windows下的软件,但是不知道放哪个地方合适,就放在这里了。
现在的xshell竟然也支持传输文件了,真的是舒服得很。觉得也是,之前没有发现sftp和ssh都是22端口,一直觉得传输文件和传输指令需要两个端口。现在厉害了。
开启小键盘
xshell日常使用没有什么问题,要解决的是,小写键盘不能使用的问题。解决方法:
- 打开xshell,点击“文件->属性”,打开对话框
- 在类别中选择“VT模式”,然后在右侧的选项中,选择:初始数字键盘模式中的“设置为普通”
- 点击“确定”
然后关闭xshell,之后重新打开xshell,再使用xshell时就会发现数字小键盘可以正常输入数字了。其他乱码问题可以参考:Xshell 为什么会出现中文乱码?
连接运行指令
有的时候需要连接服务器时自动运行某些指令,如conda activate py37
和cd /d E:/PolSAR/MDGCN
。这时候可以在如下地方添加。这里的Expect
为>
,这是因为登陆Windows后为C:\Users\zdaiot>
以>
结尾。
安装Terminator
Terminator最大的特点就是可以在一个窗口中打开多个终端
1 | sudo apt-get install terminator |
快捷键
1 | Ctrl+Shift+E 垂直分割窗口 |
优化配置
初始界面不太美观,修改配置文件
1 | mkdir ~/.config/terminator |
写入如下内容:
1 | [global_config] |
在文件管理器添加右键打开Terminator按钮:
1 | # 对于Ubuntu 16.04以及之前的版本 |
如下图所示,在Action
标签Context label
填入Open in Terminator
,并将上面两个选项打上勾。
打开Command
标签,填入要执行的语句,如下图所示。Path指定为/usr/bin/terminator
,Parameters指定为--working-directory=%d/%b
。
若不想Open in Terminator
在子按钮中,打开nautilus-actions-config-tool -> Edit -> Preferences > Disable "Create a root 'Nautilus-Actions' menu"
。
最后,使用sudo nautilus -q
重启文件管理器即可。(若对于Ubuntu 18.04以及之后的版本,需要重启才能生效)。
参考
VS Code使用之基本设置与配置详解
MATLAB深度学习工具MatConvNet安装
matconvnet官方安装教程
vscode中使用python相对路径问题?
vscode开发python,读取相对路径文件失败的问题
VSCode中pytorch出现’torch’ has no member ‘xxx’的错误
VS code 目录树如何设置?
visual studio code之python带参数调试
xshell中数字小键盘不能使用怎么办?
Ubuntu终端多窗口分屏Terminator
Setting nautilus-open-terminal to launch Terminator rather than gnome-terminal
ubuntu18.04安装和设置深度终端)
ubuntu16.04下matlab2016b无法使用搜狗输入法输入中文
Xshell登录后自动输入命令
How to run python interactive in current file’s directory in Visual Studio Code?
VSCode — how to set working directory for debug
VScode如何Debug(调试)进入标准库文件/第三方包源码
用vscode将\n转换为回车
这7大神器, 让你的Python 代码更易于维护
Vscode+python+flake8 安装 配置 使用
VSCode中怎么配置Python,实现错误提醒和自动格式化
Can’t fully disable python linting Pylance VSCODE
How to correctly set PYTHONPATH for Visual Studio Code
How to correctly set PYTHONPATH for Visual Studio Code
vs code - always open a folder in a new window/workspace
How to correctly set PYTHONPATH for Visual Studio Code