R语言小记 | 安装R包
近两个月写毕业论文去了,鸽了。现在重新开更,一时间也想不出要水点什么,就写一下之前遇到的一个R包安装的小问题吧。
一般安装
不同于其他语言,R有着高度集权的管理体系,至少我目前遇到的几乎所有包都要在cran上找(当然也有从源码安装),并且R语言的IDE基本等价于Rstudio(其他都不够好用)。
文档虽然有很多换皮网站,比如Rdocument和Rdrr,但其内容都是从cran的包简介里面扒的。咳咳,扯远了。。
总而言之,我一直认为R包的安装都是统一的:
1> install.packages("{PACKAGE_NAME}")
最多就是加入了一些参数:
12# 安装包及其依赖项> install.packages("{PACKAGE_NAME}", dependencies=T)
而一般的包确实如此,所以安装流程很懒人:
搜索cran上有没有这个包
用install.packages安装
特殊情况(以pcalg为例)
然而,从来如此,便对么?
最近我才发现,R包居然确实可以不由cran提 ...
C++/Python联合编译:pybind11
Python方便但效率低,C++效率高但不方便,那不如把他们合起来用?
本篇介绍Python作为API、C++作为底层实现的方式之一:pybind11.
想要联合编译Python和C++有很多种方法和工具,我目前在用的是pybind11,给我感觉挺方便好用的。
安装pybind11
对于Linux来说,如果官方源里面有的话,可以直接从官方源安装,如:
1$ sudo pacman -S pybind11
否则可以根据官方文档安装,但强烈不建议PyPI里的包(功能不完全)!
再退一步,不装也没关系,直接把它源码从Github仓库扒下来,后面会讲到要怎么用:
1$ git clone https://github.com/pybind/pybind11.git
联合编译
方式一:setuptools [link]
这种方式相对传统(但常用),利用的是Python的打包工具setuptools(一般默认装了),可以利用pip进行管理。
示例目录如下:
123456.├── pyproject.toml├── setup.py└── src ├── bind.cpp └── m ...
Arch折腾记 | 安装Windows/Arch双系统(二)
终于要整图形化界面啦!
上回说到,我们已经成功安装了Arch Linux到硬盘里,但它仍然处于黑框命令行的形式,想作为日常使用的机子显然是不够的,再怎么说也得整个图形界面出来吧。
写在最前
配置图形界面,难免可能写错配置文件,这有可能导致进入图形界面后卡死,但又因为没法进入命令行而无法修复。因此建议:
在全部配置完成之前,不要打开图形界面的自启动,以免出了问题也进不了命令行;
假如打开了图形界面自启,卡死了,也不用慌。重新插入启动盘,从启动盘进入系统,挂载分区,并通过arch-chroot进入命令行进行修复;
选择图形界面
图形界面有很多选择,我这里介绍的是KDE Plasma,其他的界面配置就请自行查看wiki了。
首先需要安装xorg依赖包,以及显卡驱动,具体请看这个说明:
1$ sudo pacman -S xorg-server xf86-video-intel mesa lib32-mesa
最后一个lib32-mesa包可能会找不到,需要启用multilib仓库:在/etc/pacman.conf里面找到如下行,并取消前面的注释:
12[multilib]Incl ...
Arch折腾记 | 安装Windows/Arch双系统(一)
想用Arch Linux做开发,但又不想干掉Windows?那装个双系统吧~
本篇内容主要基于Arch - Installation Guide及这篇很不错的博客,写在前面表示感谢。
数据无价,请备份好重要数据再搞机。
预留新系统的空间
首先需要给你的Arch预留出空间,这个主要看你的使用情况,对我来说100G左右完全够了(不玩游戏,不跑机器学习,没有大型数据库)。
在Windows的“磁盘管理”中可以进行硬盘的压缩。预留出的空间应该是灰色的,表示没有被启用。
制作启动盘
启动盘,一般推荐使用一个8G以上的U盘,因为除了镜像本体外,安装过程中的缓存文件也需要在启动盘的空间上保存,所以越大越好。
制作方式多种多样,我使用的工具是Ventoy,非常傻瓜式:
下载安装Ventoy;
下载所需系统的iso镜像;
插入U盘,打开Ventoy,用它来格式化U盘(原有数据会被清空);
将iso复制进格式化后的U盘里,可以复制多个;
制作完成。
没了。
关闭安全启动(secure boot)
值得注意的是,无论是Arch Linux的安装,还是我用到Veotoy启动盘,都不支持安全启动(s ...
Windows折腾记 | Microsoft Visual C++工具安装
写代码还是用Linux吧。。省心
最近在给一台新电脑配置编译环境,因为测试要用,整的是windows系统,实在让人不省心。
废话不多说,总之本篇重点就是要整在编译Python包(底层涉及C++代码)时的这个错误:
123error: Microsoft Visual C++ 14.0 or greater is required. Get it with "Microsoft C++ Build Tools": https://visualstudio.microsoft.com/visual-cpp-build-tools/
这里“14.0”理论上也可能提示其他版本,总之没差,问题就在于少了个叫Microsoft Visual C++的编译工具。
为什么要装这玩意
不知道有没有人关注过为什么Windows下编译Python需要这玩意(其实我也没关注),但实际上在Python的官方Wiki上有这个说明。总而言之就是在Windows下没有内置(完善的)C++编译器,所以需要自行安装:
Visual C++
CPython
14.X
3.5, 3.6, ...
Arch折腾记 | clash安装
本篇不涉及机场/节点,也并不是科学上网教程。只是因为Arch官网上的clash教程实在太简洁,所以记录一下我捣鼓这玩意的过程。
Clash主程序安装
安装主程序非常简单,如官网所说,我们只需要安装官方源里的包就好了:
1$ sudo pacman -S clash
然后手动下载一个叫Country.mmdb的玩意,咱也不用了解这是什么个原理,但如果想出去得用到这玩意就是了。下好之后放到~/.config/clash里(可能要新建文件夹)。
123456$ mkdir -p ~/.config/clash$ cd ~/.config/clash# 阿里源$ wget http://www.ideame.top/mmdb/Country.mmdb# Github Release (国内网络可能不稳)$ wget https://raw.githubusercontent.com/alecthw/mmdb_china_ip_list/release/Country.mmdb
然后可以把clash的配置文件xxx.yaml放到上面的文件夹里面,名字建议使用config.yaml,毕竟这样就 ...
Arch折腾记 | PKGBUILD怎么写
自安装了ArchLinux以来,准确的来说是从AUR安装东西以来,就一直想学PKGBUILD的写法。但是因为太懒没有动力,就一直拖着。直到最近想装个东西,但它没提供Arch包,这才整了整活。
跟着其他教程弄了半天,总算装上能用了,但写得肯定不够规范,以后有空了再更新吧~
PKGBUILD和AUR
使用ArchLinux的朋友可能不陌生,AUR(Arch User Repository)是一个用户自行打包、分享软件的平台,其安全性和稳定性虽然没法保证。但一般来说,只要安装有人气的包就没大问题。对于官方来说,也会将符合一些条件的包收录到官方库里面去。是ArchLinux社区的重要组成部分(这说法好官方哈哈哈哈哈)。
这无穷无尽的软件想要都塞给官方来保存,人又不是网盘,顶不住这么折腾,于是PKGBUILD就是一个很好的解决方式。
简单来说,PKGBUILD这个文件(对,它只是一个文本文件罢了)负责记录:
从哪来:软件数据从哪里下载
到哪去:怎么安装,安装到哪
大陆网络有时会发现无法下载AUR的包,如果不是PKGBUILD写错了,那么很大概率是连不上作者指定的下载源(你懂的)
...
Hexo建个站玩儿 | 第二期 - 弄好看点
欸欸,就是玩儿~
软件安装汇总 | Linux/WSL
本篇汇总了站内用到的各种Linux下软件的安装,主要是利用命令行,因此一些基本的命令行语法不会做过多解释。一般来说,我会以我自己的系统(Ubuntu 20.04)为例给出详细步骤,对于其他平台请参考我给出的其他教程链接(尽量都会附上的,没有的话就算了)。
部分教程需要科学上网工具,请尽量自备
Git
这个看官方教程就好,实际上就是从Linux官方源里下:
1$ sudo apt install git
利用git --version查看版本,以确认安装成功。
Node.js
方案一:通过nvm安装
Node Version Manager(简称nvm)是一个十分方便的Node.js管理器,可以很方便地进行安装、卸载、版本切换等,其官方地址在此。
首先需要安装nvm,这里只放命令行安装:
12# "v0.39.0" is the latest now$ curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash
重启命令行,然后可以通过nvm -v查看安装版本, ...
Hexo建个站玩儿 | 第一期 - 弄出个网站来
欸,就是玩儿~