MoreRSS

site iconLiHan | 李寒修改

研究生,中国传媒大学
请复制 RSS 到你的阅读器,或快速订阅到 :

Inoreader Feedly Follow Feedbin Local Reader

LiHan | 李寒的 RSS 预览

python 装 texlive-full 时间过长

2025-11-17 23:40:00

Featured image of post python 装 texlive-full 时间过长

问题

sudo apt-get install texlive-full 安装时间超长。

原因

安装过程中有地方不兼容,需要用户回车确认。

解决

卡了就疯狂按回车

Linux 环境下 LF/CRLF 问题

2025-11-17 23:29:00

Featured image of post Linux 环境下 LF/CRLF 问题

问题

在 WSL 等环境使用 VSCode 编辑 .env 等配置文件后,python 等代码读取时报错,无法正常读入配置文件。

原因

不同操作系统下 文本文件换行符格式不同

系统 换行符 字符表示 ASCII
Windows CRLF \r\n 回车 + 换行
Linux / macOS LF \n 换行
老式 Mac(已淘汰) CR \r 回车

WSL 下用 VSCode 打开文件编辑时,可能还是使用的 Windows 的 CRLF,Linux 下程序读取报错。

解决

.gitattributes 强制使用 LF(通常推荐)

1
2
# 在 .gitattributes 写
* text=auto eol=lf

VSCode 手动切换

打开目标文件后,手动在 VSCode 优先级更改 换行符格式

VSCode_LF

IPv6 学习笔记

2025-11-17 22:33:00

Featured image of post IPv6 学习笔记

IPv6 实操笔记

1. 简单介绍

  • IPv6(Internet Protocol Version 6) 是下一代互联网协议,用于取代 IPv4。
  • 主要特点:地址空间巨大(128 位)、无需 NAT、内置安全性、自动配置、更高效的路由与组播能力。
    • 家庭与企业网络直连:每台设备都能拥有全球唯一公网地址,实现远程访问无需端口映射。
    • 物联网(IoT):大量设备需要唯一地址,IPv6 能轻松满足规模需求。
    • 服务器部署:云主机、CDN、网站支持双栈,提高可访问性和全球连通性。
    • P2P 与游戏应用:无需 NAT 穿透,连接更稳定、延迟更低。
    • 移动网络运营商:大量使用 IPv6 避免 IPv4 地址枯竭,提升网络管理效率。

2. 前置技术依赖


3. 环境配置

  • Windows 11 专业版 (可使用 Windows 远程桌面功能(RDP))
    • 已安装 OpenSSH 服务端和客户端
    • 完全可控的路由器
    • 支持 IPv6 的网络环境

4. 基础用法

4.1 配置 IPv6

路由器 IPv6 配置

很多路由器默认关闭 IPv6 功能,记得打开:

open_ipv6

记得重启路由器以应用。

PC IPv6 配置

部分 Windows 默认也关闭 IPv6 功能,记得打开:

  • 控制面板->网络与互联网->网络与共享中心->更改适配器设置->右击 目标适配器,选择属性->勾选 IPv6 并应用

open_ipv6_pc

4.2 配置防火墙

本贴以配置 IPv6 SSH 连接与 RDP 远程桌面连接为例,由于 IPv6 比较玄学,目前仅实现校园网内 IPv6 联通,麻了。

路由器防火墙配置

说实话很抽象,理论上 IPv6 会给路由器一个网段让他自己给下面的设备分配,然后 DHCPv6 会给每个设备再给一个 IPv6 地址,然后还会生成好多临时、备用 IPv6 的地址。不过主要用的还是 DHCPv6 分配的 地址和路由器分配的长期租约 IPv6。

1
ipconfig /all #查看 ipv6 地址

在 IPv6 中,一个网卡通常会 同时拥有多个地址,这是标准行为,不是异常。主要来源有:

  • Link-local 地址(fe80::/64) 用于局域网内通信,每个网卡必有一个。

  • 全局单播地址(Global Unicast Address,GUA) 公网可路由的 IPv6,通常来自运营商或路由器。

  • ULA 地址(fc00::/7) 私有 IPv6,类似 IPv4 的 192.168.x.x。

  • SLAAC 自动生成地址 (公网) 通过路由器广播自动生成(可能含隐私扩展)。

  • DHCPv6 分配地址 (公网) 由 DHCPv6 服务器下发的稳定 IPv6。

1 个 link-local + 1~2 个全局地址 + 若干临时(隐私)地址

在 IPv6 中,每个地址都有“使用状态”:

  • ✔ Preferred

地址当前有效且优先使用

用于新建连接(出站 / 入站)

  • ✔ Deprecated

地址仍可使用,但系统不再选择它作为新连接的源地址

已建立连接的会继续用,不会强制断开

  • ✔ Invalid(不在列表里)

已经过期,完全不可用

一般直接用 Perferred 的一两个地址

firewall

Windows 防火墙配置

Windows 就比较简单了,打开高级防火墙配置,入站规则加上 SSH 的 22 端口和 RDP 的 3389 就好了。

联通检查

  1. 端口联通检查
1
Test-NetConnection -ComputerName <ipv6地址> -Port <port> -InformationLevel Detailed
  1. 查看路由
1
tracert -d www.baidu.com
  1. 检查 RDP 服务状态
1
cmd /c 'netstat -ano | find "3389"'

5. 常见问题与解决办法

  1. 连不通

有时候一切都配好了,就是连不通,那就等会儿、重启,说不定莫名其妙就好了qwq

  1. 玄学 公网 Ip

理论上是公网,但是目前只能校园网内访问,也许是我没学到位,也许是学校网管干了什么。


6. tips

  1. 好心人教教我 IPv6 T_T

7. 参考资料

  • 我也想参考 T_T 来点参考啊,我只有 GPT

Jupyter 中 Kernel restart 内核死掉问题

2025-11-02 11:29:00

Featured image of post Jupyter 中 Kernel restart 内核死掉问题

问题

使用 pytorch matplotlib 等包时,Jupyter 中 Kernel 莫名内核死掉,重启。

Jupyter 显示如下: kernel_died

1
2
Kernel Restarting
The kernel for data_op.ipynb appears to have died. It will restart automatically.

Python 终端显示如下:

1
2
3
4
5
6
7
(base) PS C:\temp\code> python .\test.py
qt.qpa.window: SetProcessDpiAwarenessContext() failed: Access is denied.
Qt's default DPI awareness context is DPI_AWARENESS_CONTEXT_PER_MONITOR_AWARE_V2. If you know what you are doing, you can overwrite this default using qt.conf (https://doc.qt.io/qt-6/highdpi.html#configuring-windows).
OMP: Error #15: Initializing libiomp5md.dll, but found libiomp5md.dll already initialized.
OMP: Hint This means that multiple copies of the OpenMP runtime have been linked into the program. That is dangerous, since it can degrade performance or cause incorrect results. The best thing to do is to ensure that only a single OpenMP runtime is linked into the process, e.g. by avoiding static linking of the OpenMP runtime in any library. As an unsafe, unsupported, undocumented workaround you can set the environment variable KMP_DUPLICATE_LIB_OK=TRUE to allow the program to continue to execute, but that may cause crashes or silently produce incorrect results. For more information, please see http://www.intel.com/software/products/support/.
QThreadStorage: entry 1 destroyed before end of thread 0x1c347137290
QThreadStorage: entry 0 destroyed before end of thread 0x1c347137290

原因

OpenMP 运行时冲突,你的程序里加载了两个不同版本的 OpenMP 动态库 (libiomp5md.dll),这常见于以下组合之一:

冲突来源 原因
PyTorch + NumPy 两者都自带 OpenMP
Matplotlib + PyTorch Qt 后端间接载入 MKL/OpenMP
你用的是 Conda 环境 + 多个 MKL 包 不同包加载不同版本的 libiomp5md.dll

解决

在代码中设置环境变量

1
2
import os
os.environ["KMP_DUPLICATE_LIB_OK"] = "TRUE"
  • 这条官方建议的**“unsafe workaround”在科研/绘图环境中几乎总是安全的**。
  • 它的作用是让多个 OpenMP 实例共存,不再报错。

基于代码仓库和知识库的团队开发任务管理方案 系统学习笔记

2025-10-31 20:55:00

Featured image of post 基于代码仓库和知识库的团队开发任务管理方案 系统学习笔记

基于代码仓库和知识库的团队开发任务管理方案 学习笔记

1. 基础概念

1.1 介绍

自读本科以来,一直希望能有一个完善的团队协作开发与任务管理方案,实现 1+1+···+1 >=n 的效果,而不是出现大量重复劳动或混乱,反而让团队合作开发的效率不如单人开发。这套方案能够将任何一个新的项目任务划分给团队成员,并实时跟踪反馈任务开发;同时,在完成一个个项目后,从项目开发过程与成果中沉淀和积累团队的技术与知识资产,也一直是我所关注的重点。

读研后,注意到导师的项目组有一套基于 Gitlab 和 Confluence 的团队协作开发与任务管理方案,简单了解下来,感觉算是目前接触到的最理想最完备,并且已经在稳定运行产出的方案了。因此决定系统性地学习和记录这套方案,方便后续自己搭建和使用。

1.2 相关概念

  • 代码仓库(Code Repository):用于存储和管理代码的系统,常见的有 Git、Gitlab、GitHub 等。代码仓库可以实现版本控制、协作开发、代码审查等功能。
  • 知识库(Knowledge Base):用于存储和管理知识和文档的系统,常见的有 Confluence、Notion 等。知识库可以实现知识共享、文档管理、协作编辑等功能。
  • 任务管理(Task Management):用于规划、分配和跟踪任务的系统,常见的有 Jira、Trello 等。任务管理可以实现任务分配、进度跟踪、协作沟通等功能。

2. 学习路线规划

阶段 学习目标 依赖
技术工具 开发部署 代码仓库 环境 Gitlab 学习笔记 CI/CD
开发部署 任务管理系统 知识库 环境 Confluence
基础知识
产出学习 掌握团队协作与任务管理方法 基于 Gitlab+Confluence 的开发任务管理系统
利用方案进行产出 论文流水线、开源项目流水线

3. 技术依赖


4. 相关资料链接


5. 学习过程记录

2025-10-31

  • 开始设计整体学习笔记结构框架
  • 研究 Gitlab

Gitlab 学习笔记

2025-10-31 20:51:00

Featured image of post Gitlab 学习笔记

gitlab 实操笔记

1. 简单介绍

  • GitLab 是一个基于 web 的 Git 仓库管理工具,提供了代码托管、版本控制、CI/CD 等功能
  • 常见应用场景:团队协作、代码审查、持续集成

2. 前置技术依赖


3. 环境配置


4. 基础用法


5. 常见问题与解决办法


6. tips


7. 参考资料