目录
- 宝塔面板 docker 安装部署青龙面板
- 一些 Typlog 的 Markdown 语法
- 青龙拉库
- 本地搭建青龙
- 安装 Centos7 之后无法上网
- 青龙查看默认信息
- Linux 防火墙相关命令
- Office 2019
- IP 地址查询
- 正则表达式
- CSS
- pip 源设置
- 京东抓包 pt_key & ws_key
- nohup 命令 print 不显示
- 字体嵌入 PowerPoint
- Clash
- Conda 导出环境
- 安装 Apex 库
- torch.distributed.launch 启动器命令
- tmux 命令使用
- vsCode 格式化快捷键
- tree 命令安装
- 在 Linux 服务器上使用 Clash
- anaconda 的 Python 版本与本机 Python 版本的选择
- 不使用 pip install 命令安装 Python 包
- torch.load 引发的显存不足的问题
- 给 Powershell 设置全局代理
- Github Desktop 代理设置
- 给 cmd 设置全局代理
- Jupyter Notebook 输出停止,报错 Uncaught exception in zmqstream callback
宝塔面板 docker 安装部署青龙面板
先拉取镜像
docker pull whyour/qinglong:latest
拉取镜像完成后,通过 run
模式部署青龙面板
docker run -dit \
-v $PWD/ql/config:/ql/config \
-v $PWD/ql/log:/ql/log \
-v $PWD/ql/db:/ql/db \
-v $PWD/ql/repo:/ql/repo \
-v $PWD/ql/raw:/ql/raw \
-v $PWD/ql/scripts:/ql/scripts \
-p 5888:5700 \
--name qinglong \
--hostname qinglong \
--restart unless-stopped \
whyour/qinglong:latest
- 其中 5888 端口自行可以修改映射其他端口
- 不要忘了去防火墙放行 5888 端口,通过服务器IP地址+映射端口即可访问面板进行初始化设置
- 大功告成 👏
一些 Typlog 的 Markdown 语法
目录
目录
- 宝塔面板 docker 安装部署青龙面板
- 一些 Typlog 的 Markdown 语法
- 青龙拉库
- 本地搭建青龙
- 安装 Centos7 之后无法上网
- 青龙查看默认信息
- Linux 防火墙相关命令
- Office 2019
- IP 地址查询
- 正则表达式
- CSS
- pip 源设置
- 京东抓包 pt_key & ws_key
- nohup 命令 print 不显示
- 字体嵌入 PowerPoint
- Clash
- Conda 导出环境
- 安装 Apex 库
- torch.distributed.launch 启动器命令
- tmux 命令使用
- vsCode 格式化快捷键
- tree 命令安装
- 在 Linux 服务器上使用 Clash
- anaconda 的 Python 版本与本机 Python 版本的选择
- 不使用 pip install 命令安装 Python 包
- torch.load 引发的显存不足的问题
- 给 Powershell 设置全局代理
- Github Desktop 代理设置
- 给 cmd 设置全局代理
- Jupyter Notebook 输出停止,报错 Uncaught exception in zmqstream callback
.. toc:: 目录
画廊
Image Gallery is formatted by multiple image markup:
 

代码高亮具体行
```python highlight=2-5,9
def print_card(card):
print('<div class="card">')
if card.image:
print(f'<img src="{card.image}" class="card_image">')
print(f'<h2 class="card_name"><a href="">{card.name}</a></h2>')
print(<p class="card_summary">{card.summary}</p>')
print('</div>')
for card in cards:
print_card(card)
```
def print_card(card):
print('<div class="card">')
if card.image:
print(f'<img src="{card.image}" class="card_image">')
print(f'<h2 class="card_name"><a href="">{card.name}</a></h2>')
print(<p class="card_summary">{card.summary}</p>')
print('</div>')
for card in cards:
print_card(card)
高亮行数的几种选项:
highlight=2
, 只高亮第 2 行highlight=1-3
, 高亮 1~3 行highlight=1,4,6
, 高亮 1、4、6 行highlight=1-3,5,7-9
, 高亮 1~3 行,第 5 行,7~9 行
嵌入链接支持
Typlog will embed links from some websites automatically. In Typlog posts, paste the certain link into a single
Content above ...
<https://www.youtube.com/watch?v=0qo78R_yYFA>
Content below ...
支持的内容:
- 支持 Open Graph 的内容
- Video
- Apple Music
- Apple Podcasts
- Spotify
- music.163.com
- Code
- CodePen
- JSFiddle
- CodeSandbox
- GitHub Gist
- Review
- IMDb
- App Store
- Douban
- Airtable
- Typeform
青龙拉库
elm,mt
ql repo http://gitlab.luobook.fun/root/script.git "lb_" "README" "sendNotify" "master"
lianxiang
ql raw https://gitee.com/tan35hah/hello_tan/blob/master/xl.js
本地搭建青龙
具体步骤为:
- 安装自己需要的虚拟机
- 然后在虚拟机中安装宝塔面板
- 在宝塔面板软件商店中安装 Docker 管理器
- 拉取青龙最新镜像
- 完成
安装 Centos7 之后无法上网
问题
ping 不通显示:network is unreachable
但是已经打开此虚拟机的网络设置的桥接模式。
解决方法
cd /etc/sysconfig/network-scripts/
修改网络相关的配置文件ls
查看目录,然后找到ifcfg-eno
开头的第一个文件,用vi
命令打开该文件- 将文件里面的
ONBOOT
为yes
- 重启网络服务:
service network restart
参考
青龙查看默认信息
在终端输入以下命令:/etc/init.d/bt default
Linux 防火墙相关命令
firewall-cmd --query-port=8888/tcp
查看想开的端口是否已经开启,yes 表示开启;no 表示未开启firewall-cmd --add-port=8888/tcp --permanent
添加指定需要开放的端口firewall-cmd --permanent --remove-port=8888/tcp
移除指定端口firewall-cmd --zone=public --list-ports
查询所有已经开放的端口
Office 2019
放一个小回答:关于Office是装32位还是64位的微软官方解答
结论就是:如非特殊需求用户,请安装32位版本的office,不论你的office是2019、2016还是任何其它版本。更多详看上面链接,亦可参考微软官方回答:选择 64 位或 32 位版本的 Office
IP 地址查询
正则表达式
CSS
pip 源设置
- 临时使用:
pip install xxx -i https://pypi.tuna.tsinghua.edu.cn/simple
- 永久更换:
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
京东抓包 pt_key & ws_key
pt_key
- 浏览器打开 m.jd.com;
- 使用手机号登录;
- 使用扩展程序 EditThisCookie 查找
key
关键字找到pt_key
的值即可。
ws_key
ws_key 长期有效,但是抓取只能用手机进行抓取
- 安卓手机为例,使用抓包软件,如 VNET,安装使用,右下角加号图标添加京东 APP 准备进行抓包;
- 打开京东,返回抓包软件,查找有关类似 <api.jd.m> 的域名,点进去就可以看到 cookie 字段,找到 wskey 所对应的值即可。(不一定是这个域名,可以都点开看看,只要找到都行)
nohup 命令 print 不显示
简单介绍一下 nohup 命令:nohup 指 no hang up(不挂起),用于在系统后台不挂断地运行命令,退出终端不会影响程序的运行。
简单来说在使用命令 A 之前加上 nohup 命令,就可以避免退出终端该 A 命令始终在执行,通常在执行脚本的时候比较有用。 比如下面的:
nohup python test.py
表示执行 test.py
的时候即使关闭终端也会继续执行,并且会在当前文件夹下输出一个名叫 nohup.out
的文件去记录终端的输出,另外如果当前目录 nohop.out
不可写,则输出重定向到 $HOME/nohup.out
文件中。
当然你不想把输出放在 nohup.out
这个文件也可以,只需要使用重定向方法,输出到指定文件夹即可,如下使用重定向方法,将结果输出到我所指定当前目录下的 test.out
中 :
nohup python test.py > test.out
遇到配合 Python 一起使用时,会遇到的问题参考下面。
- Linux使用nohup命令后台运行程序并输出日志,解决python文件中print不能输出的问题
- Linux nohup 命令
- 2021-001 nohup 使用与进阶
- linux命令 nohup命令行后面的& 符合代表什么意思?
字体嵌入 PowerPoint
一心想在大家面前 show off 自己下载的好看的字体,但是一旦离开本机就失效。是因为别人的电脑没有这个字体,当然也可以在别人的电脑上安装这个字体,但是比较好的做法就是我把字体嵌入到做好的幻灯片中,别人一打开幻灯片也就能正常显示。具体操作如下:打开 PowerPoint,左上角:文件 -> 选项 -> 左侧“保存”选项卡 -> 拉到下面,“此演示文稿时保持保真度”中的“将字体嵌入文件” 打上勾即可:



有两个选项,直白点来说:
- 仅仅嵌入你在幻灯片中用过的字符,缺点就是别人不能再进行修改或者添加除这些字符之外的新字符,优点就是幻灯片所占空间比第二种要小;
- 你这种字体我全都给你嵌入进去,兼容性最强,缺点就是整个幻灯片的体积会比较大(当然也是取决于你的字体有多占空间)。
Clash
下载地址备份
Conda 导出环境
操作
conda 导出环境:
conda env export > environment.yml
在新机器上重现环境:
conda env create -f environment.yml
此时只有 conda 环境里的包,还需要把 pip 管理器中的包也加入,才能像以前一样正常使用。
导出 requirements.txt
pip freeze > requirements.txt
安装 requirements.txt
(使用清华源安装加快速度)
pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
当然上面这么麻烦的操作只是基于你要进行不同服务器的环境迁移吗,如果只是简单地想复制一个环境,可以使用 conda 的 clone
命令,示例如下:
conda create -n B --clone A
使用这个命令可以创造一个环境 B,而这个环境 B 是已有环境 A 的克隆体。这样在同一个服务器上是最快的。
参考
安装 Apex 库
- 官方方法(我没能安装成功)
git clone https://github.com/NVIDIA/apex
cd apex
pip install -v --no-cache-dir --global-option="--cpp_ext" --global-option="--cuda_ext" ./2.
- 网上的方法(成功)
git clone https://github.com/NVIDIA/apex
cd apex
python3 setup.py install
PS: 如果上面 git
的命令因为网络问题拉取不成功,可以采用国内镜像站的方法进行下载,命令如下,只需要将 git clone
命令后面的地址在原来地址上做更改即可:
git clone https://gitclone.com/github.com/NVIDIA/apex
cd apex
python3 setup.py install
参考
- Windows系统下安装apex,及错误汇总
- no module named ‘apex‘ 的解决方案
- AttributeError: module ‘torch.distributed‘ has no attribute ‘_all_gather_base‘
- FileNotFoundError: No such file or directory: ‘/usr/local/cuda-10.2:/bin/nvcc‘
- (持续更新中)python整理自己写代码中遇到的bug及一些基本概念
torch.distributed.launch 启动器命令
CUDA_VISIBLE_DEVICES=0,1,2,3 python -m torch.distributed.launch --nproc_per_node=4 train.py
CUDA_VISIBLE_DEVICES=0,1,2,3
和 --nproc_per_node=4
数量对应
tmux 命令使用
参考:Tmux 使用教程
目的:窗口关闭时,会话并不终止,而是继续运行,等到以后需要的时候,再让会话"绑定"其他窗口。
- 新建会话,格式:
tmux new -s <session-name>
,后面是自定义的会话名,下面新建了一个名为 issactan 的会话
tmux new -s issactan
- 分离会话,按下
ctrl b d
或者输入tmux detach
命令,就会将当前会话与窗口分离
tmux detach
- 查看会话:分离完会话,就会退出当前 tmux 窗口,但是会话和里面的进程仍然在后台进行,使用
tmux ls
命令可以查看当前所有的 Tmux 会话(也就是说 Tmux 会话是永久性的,一旦创建,除非用特定的命令杀死会话,否则服务器断电也能恢复会话)
tmux ls
- 接入会话:分离完之后我们又想进入之前创建好的会话窗口,这个动作叫接入,使用
tmux attach
命令,后面的参数可使用会话编号也可以使用会话名称(推荐使用会话名称):
# 使用会话编号
tmux attach -t 0
# 使用会话名称
tmux attach -t issactan
- 杀死会话,永久删除会话,只有该操作可以决定之前创建过的会话的生死,断电都不可以。
# 使用会话编号
tmux kill-session -t 0
# 使用会话名称
tmux kill-session -t issactan
- 开启鼠标滚动,默认 tmux 窗口是不允许鼠标滚动的,当我们查看的信息较长时信息会显示不全,此时按下
Ctrl+b
后,再按冒号:
,输入并执行以下命令即可。
# tmux 版本 >= 2.1
set -g mouse on
# tmux 版本 < 2.1
setw -g mode-mouse on
更多命令查看上面的链接。
vsCode 格式化快捷键
vscode代码格式化快捷键:Shift+Alt+F
tree 命令安装
Linux 上 tree 命令安装,其他命令类似,这里主要介绍不能使用 apt-get
或者 yum
下载的情况,其他包下载也是类似,参考即可
软件包管理工具下载
Ubuntu: apt get-install tree
, Centos: yum install tree
手动安装
- http://mama.indstate.edu/users/ice/tree/ 下载最新版
- 上传到 Linux 系统某个文件夹
- 解压压缩包(或者解压完上传上去也可以)
- 进入文件夹
- 执行命令:
make install
编译(从Makefile中读取指令,然后编译) - 执行命令尝试
在 Linux 服务器上使用 Clash
- 在 release 页面下载可执行文件:Ubuntu 使用
clash-linux-amd64-xxx.gz
,建议手动下载解压后上传 - Clash 运行时需要
Country.mmdb
文件,当第一次启动 Clash 时(使用./clash
命令) 会自动下载(会下载至 /home/XXX/.config/clash 文件夹下)。自动下载可能会因网络原因较慢,可以访问该链接手动下载。
anaconda 的 Python 版本与本机 Python 版本的选择
Windows 下找到系统变量,将本机安装 Python 版本的解释器变量和脚本变量移到最前。 如何确认是否成功切换:
python -V
# 注意是大写的 V,在终端输入后可以查看 Python 版本,如果是 Anaconda 中的 Python 版本会有特别注明。
不使用 pip install 命令安装 Python 包
- 先去 Python 包主页找到你想安装得我 Python 包,下载已经构建好的版本,格式为
.whl
- 在终端输入
pip install xxx.whl
进行安装即可(有些包的安装也依赖于其他包,所以有可能在这个过程中需要安装其他的包,所以最好也可以在后面加上网速较快的源)
torch.load 引发的显存不足的问题
当使用 torch.load
加载模型参数时,会默认加载在第一块 GPU0 上,当 GPU0 没有在使用时,问题不大,但是显存被占满时这时候就加载不了了。
解决方法:指定GPU映射,将 GPU0 映射到 GPU2(任意一张空闲显卡),这样原本默认加载在 GPU0 上的参数将会加载到 GPU2 中,问题解决。
原来:
model.load_state_dict(torch.load('./SpectralFormer_patch.pt'))
改为:
model.load_state_dict(torch.load('./log/SpectralFormer_patch_indian.pt', map_location={'cuda:0': 'cuda:5'}))
- pytorch加载模型torch.load报cuda out of memory解决方案
- CUDA kernel errors might be asynchronously reported at some other API call 错误解决
给 Powershell 设置全局代理
管理员身份运行 Powershell,然后依次设置如下命令:
$env:HTTP_PROXY="http://127.0.0.1:7890"
,$env:HTTPS_PROXY="http://127.0.0.1:7890"
。后面的端口是你代理端口位置,该方法只能作用一次,也就是关闭 Powershell 之后又要重新设置一次。
Github Desktop 代理设置
其实就是设置 Git 的代理。
Windows 用户修改如下文件:%HOMEPATH%/.gitconfig
,在文件末尾追加下面的内容:
[http]
proxy = socks5://127.0.0.1:7890
[https]
proxy = socks5://127.0.0.1:7890
[git]
proxy = socks5://127.0.0.1:7890
给 cmd 设置全局代理
打开 cmd,输入以下命令:
set http_proxy=http://127.0.0.1:7890
set https_proxy=http://127.0.0.1:7890
Jupyter Notebook 输出停止,报错 Uncaught exception in zmqstream callback
是 torando 版本的问题,降级到 6.1 版本即可。
conda install tornado=6.1
- Uncaught exception in zmqstream callback - Jupyter Notebook
- Jupyter Notebook安装各类包时常见的十种坑坑和解决办法汇总(上)
- jupyter notebook和tornado版本不对应问题(利用清华镜像进行pip下载)
- 解决jupyter notebook无法连接/一直in的问题