Windows安装开源版pymol的简单办法

最近装了一台windows电脑,需要在上面用pymol。以前在mac或者linux下可以很容易地自己编译免费的版本,但是在windows下似乎比较麻烦。买license是不可能买license的,这辈子不可能买license。。

好在这位老哥 https://www.lfd.uci.edu/~gohlke/pythonlibs/#pymol 提供了很多编译好的版本,下载需要的 whl 文件后,在 Anaconda Prompt 里面 pip install 一下就可以了。之后可以通过 pymol 命令直接启动 pymol,也可以在 Anaconda3/Scripts/ 里面找到 pymol.exe,方便创建快捷方式。

WordPress 迁移至 https 的正确办法

虽然我一向认为在公开的静态内容上使用加密没有必要,然而大公司,尤其 google,非常不厚道地在所有 http 站点上标记 “不安全”,其心可诛也。

作为 fallback,我会继续保留 http 的访问,不会强制跳转。

Continue reading “WordPress 迁移至 https 的正确办法”

解决 procps 更新报错

某日(就刚才)在日常更新一个 Debian 服务器的时候指令 sudo apt-get upgrade 失败,报错

Setting up procps (2:3.3.9-9+deb8u1) ...
Job for systemd-sysctl.service failed. See 'systemctl status systemd-sysctl.service' and 'journalctl -xn' for details.
invoke-rc.d: initscript procps, action "start" failed.
dpkg: error processing package procps (--configure):
 subprocess installed post-installation script returned error exit status 1
Errors were encountered while processing:
 procps
E: Sub-process /usr/bin/dpkg returned an error code (1)
Continue reading “解决 procps 更新报错”

打包windows下软件的一些坑

前一阵子答应帮了个忙,开发一套仪器软件。写了一天之后写好了,交付源码,但是对方几乎没有懂计算机的人,所以要求我把所有东西再打包成一个 windows 上的可执行文件。这几天刚好回来,稍微有一点空闲时间,随手打了一下包。不过,因为很多年没有用windows,实在是很不熟悉,打包windows软件的时候遇到了很多奇怪的小坑,稍微总结一些,方便自己以后参考。

Continue reading “打包windows下软件的一些坑”

解决 VSCode format tex 文件时报错 Can’t locate YAML/Tiny.pm in @INC

这个错误的原因很简单,就是 YAML::Tiny 没安装,VSCode 安装 LaTeX Workshop 插件的时候不会自动安装,因此手动安装一下就可以解决。

cpan Unicode::GCString
cpan App::cpanminus
cpan YAML::Tiny
perl -MCPAN -e 'install "File::HomeDir"'

注意如果 perl 是 brew 安装的,每次 perl 升级后,会需要重新来一次。

根据 Homebrew 的说法,default non-brewed cpan modules are installed to the Cellar. If you wish
for your modules to persist across updates we recommend using `local::lib`.

为了避免麻烦,可以

PERL_MM_OPT="INSTALL_BASE=$HOME/perl5" cpan local::lib
echo 'eval "$(perl -I$HOME/perl5/lib/perl5 -Mlocal::lib=$HOME/perl5)"' >> ~/.bash_profile

由于 CPAN 的系统过于老旧,用 CPAN 管理包非常麻烦且复杂,报错也经常难以搞清楚问题,推荐换成 cpanminus。

关于 Unicode::GCString 和 LineBreak 编译失败

另一个问题是,在 macOS 下,Unicode-LineBreak-2019.001 有可能无法成功编译。查看 log ,可以发现在编译 sombok / libsombok.a 后,链接时出现问题

cc  -mmacosx-version-min=10.13 -bundle -undefined dynamic_lookup -L/usr/local/lib -fstack-protector-strong  LineBreak.o  -o blib/arch/auto/Unicode/LineBreak/LineBreak.bundle sombok/libsombok.a

ld: warning: ignoring file sombok/libsombok.a, file was built for archive which is not the architecture being linked (x86_64): sombok/libsombok.a

这个问题早年做过 iOS 开发的人都很熟悉,选错 device 和 simulator 的话经常看见类似 file was built for x86_64 which is not the architecture being linked 的错误。。所以说明 sombok 的编译一定是在某处出了问题,排查一下即可发现是安装了 GNU binutils 中的 ar 与 macOS 的 BSD ar 冲突搞的鬼,暂时将其卸载即可。