预计阅读

一些 MacOS 上的软件





设置 MacOS

常用软件

办公软件

brew install --cask notion jasp
brew install --cask adobe-creative-cloud

视频编辑器 openshot-video-editor (https://www.openshot.org/zh-hans/)

brew install --cask openshot-video-editor

刘志进实验室有很多免费音乐,支持外链,可以插入博客 https://music.liuzhijin.cn/

shotcut

brew install --cask shotcut

blender (https://www.blender.org/)

# 3D 建模
brew install --cask blender

# Github CLI 命令行工具
brew install tig gh
brew install tree gnupg

# LaTeX 代码块样式
# https://www.ctan.org/pkg/codebox

plantuml 提供 UML 统一建模语言

brew install plantuml

asymptote 提供一种矢量图形编程语言,像 TikZ 支持 LaTeX,asymptote 宏包及其使用文档

brew install asymptote

数据科学平台

brew install --cask rapidminer-studio data-science-studio

Orange (https://orangedatamining.com/) 是开源的数据挖掘软件, 每一个操作都是一个组件,将组件连接起来就是工作流,可视化数据编程

# 数据挖掘软件
brew install --cask orange
# 收费的商业智能工具
brew install --cask tableau 

绘图软件

Gifski

安装 Rust 软件 以及 Gifski 转化器,它可将视频、图片文件转化为 GIF 动图,且转化效率和质量非常高。

  1. 安装 Rust 库 gifski

    # 安装 rust
    brew install rust
    # 安装 gifski 库
    cargo install gifski

    ~/.cargo/config 里配置就近的镜像地址加快cargo下载速度,下面配置的是上海交通大学 Linux 用户组 (SJTUG) 维护的镜像站点

    [source.crates-io]
    replace-with = "sjtu"
    
    [source.sjtu]
    registry = "https://mirrors.sjtug.sjtu.edu.cn/git/crates.io-index"

    将路径 ~/.cargo/bin 添加到 PATH 变量里,接着就可以直接使用 gifski 命令行工具了,它有几个参数,如下:

    gifski --help
    ## gifski 1.6.4
    ## https://gif.ski by Kornel Lesiński
    ## 
    ## USAGE:
    ##     gifski [OPTIONS] <FILE>... --output <a.gif>
    ## 
    ## OPTIONS:
    ##     -o, --output <a.gif>      Destination file to write to; "-" means stdout
    ##     -r, --fps <num>           Frame rate of animation. If using PNG files as 
    ##                               input, this means the speed, as all frames are 
    ##                               kept. If video is used, it will be resampled to 
    ##                               this constant rate by dropping and/or duplicating 
    ##                               frames [default: 20]
    ##         --fast-forward <x>    Multiply speed of video by a factor
    ##                               (no effect when using images as input) [default: 1]
    ##         --fast                3 times faster encoding, but 10% lower quality and 
    ##                               larger file size
    ##     -Q, --quality <1-100>     Lower quality may give smaller file [default: 90]
    ##     -W, --width <px>          Maximum width.
    ##                               By default anims are limited to about 800x600
    ##     -H, --height <px>         Maximum height (stretches if the width is also set)
    ##         --nosort              Use files exactly in the order given, rather than 
    ##                               sorted
    ##     -q, --quiet               Do not display anything on standard output/console
    ##         --repeat <num>        Number of times the animation is repeated (-1 none, 0 forever or <value> repetitions
    ##     -h, --help                Prints help information
    ##     -V, --version             Prints version information
    ## 
    ## ARGS:
    ##     <FILE>...    one video file supported by FFmpeg, or multiple PNG image files

    帮助文档非常简单,就不翻译了,举个例子,下面将一段视频 INPUT.mov 转化为 GIF 动图 OUTPUT.gif

    gifski -W 800 -H 600 INPUT.mov -o OUTPUT.gif
  2. 安装 gifski 软件

    brew install gifski

gnuplot

gnuplot 是开源的绘图软件,不像 gimp,它是命令行驱动。

brew install gnuplot

将下面的命令放入文件 ~/.gnuplot 自定义字体

set term qt font "Noto Sans"

查看本机安装的字体

fc-list : family | sort

Python 虚拟环境

用 miniconda 配置

~/.condarc 指定虚拟环境所在目录

envs_dirs:
  - /opt/miniconda-virtualenvs/

详见 miniconda 官方文档

# 安装 miniconda
brew install --cask miniconda
# 初始化,将配置写入当前 Shell 环境,比如 .zshrc
conda init "$(basename "${SHELL}")"   

# 创建环境
conda create -n r-reticulate python=3.8
# 激活环境
conda activate r-reticulate
# 安装模块
conda install --yes --file requirements.txt

# 更新升级 conda
conda update -n base -c defaults conda

# 退出虚拟环境
conda deactivate
# 指定安装路径和 Python 版本
conda create -p /opt/miniconda-virtualenvs/r-reticulate python=3.7
# 移除虚拟环境
conda env remove -p /opt/miniconda-virtualenvs/r-reticulate
# 更新 miniconda
conda update conda

用 virtualenv 配置

安装 virtualenv

brew install virtualenv

用 virtualenv 创建虚拟环境,虚拟环境的存放路径是 /opt/.virtualenvs/r-tensorflow,所以名字就是 r-tensorflow

# 准备虚拟环境萼存放地址
sudo mkdir -p /opt/.virtualenvs/r-tensorflow
sudo chown -R $(whoami):staff /opt/.virtualenvs/r-tensorflow
# 方便后续复用
export RETICULATE_PYTHON_ENV=/opt/.virtualenvs/r-tensorflow
# 创建虚拟环境
virtualenv -p /usr/local/bin/python3 $RETICULATE_PYTHON_ENV

查看虚拟环境中 Python 版本

python -V

激活虚拟环境

source $RETICULATE_PYTHON_ENV/bin/activate
# 取消激活
deactivate

进入虚拟环境后,从 requirements.txt 安装 Python 模块

pip install -r requirements.txt

查看已经安装的 Python 模块

pip list --format=columns

在文件 .Rprofile 里设置环境变量 RETICULATE_PYTHONRETICULATE_PYTHON_ENV,这样 reticulate 包就能发现和使用它了。

Sys.setenv(RETICULATE_PYTHON="/usr/local/bin/python3")
Sys.setenv(RETICULATE_PYTHON_ENV="/opt/.virtualenvs/r-tensorflow")

如果希望打开终端就进入虚拟环境,可以在 .zshrc 文件中添加两行

export RETICULATE_PYTHON_ENV=/opt/.virtualenvs/r-tensorflow
source $RETICULATE_PYTHON_ENV/bin/activate

注意

要使用从 brew 安装的 Python3 即 /usr/local/bin/python3 而不是 MacOS 系统自带的 Python3,即 /usr/bin/python3

在 RStudio IDE 里配置好 Python 及其虚拟环境,应该能看到

Sys.getenv("RETICULATE_PYTHON")
[1] "/usr/local/bin/python3"
reticulate::py_discover_config()
python:         /usr/local/bin/python3
libpython:      /usr/local/opt/python@3.9/Frameworks/Python.framework/Versions/3.9/lib/python3.9/config-3.9-darwin/libpython3.9.dylib
pythonhome:     /usr/local/Cellar/python@3.9/3.9.7/Frameworks/Python.framework/Versions/3.9
version:        3.9.7 (default, Sep  3 2021, 12:37:55)  [Clang 12.0.5 (clang-1205.0.22.9)]
numpy:          /usr/local/lib/python3.9/site-packages/numpy
numpy_version:  1.21.2

NOTE: Python version was forced by RETICULATE_PYTHON

知识管理

Gollum

Gollum 创建 wiki 随时记下个人笔记,gollum 源自电影《指环王》里的角色咕噜。系统环境如下

gem env
RubyGems Environment:
  - RUBYGEMS VERSION: 3.0.3
  - RUBY VERSION: 2.6.3 (2019-04-16 patchlevel 62) [universal.x86_64-darwin20]
  - INSTALLATION DIRECTORY: /Library/Ruby/Gems/2.6.0
  - USER INSTALLATION DIRECTORY: /Users/你的账户名/.gem/ruby/2.6.0
  - RUBY EXECUTABLE: /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/bin/ruby
  - GIT EXECUTABLE: /usr/bin/git
  - EXECUTABLE DIRECTORY: /usr/local/bin
  - SPEC CACHE DIRECTORY: /Users/你的账户名/.gem/specs
  - SYSTEM CONFIGURATION DIRECTORY: /Library/Ruby/Site
  - RUBYGEMS PLATFORMS:
    - ruby
    - universal-darwin-20
  - GEM PATHS:
     - /Library/Ruby/Gems/2.6.0
     - /Users/你的账户名/.gem/ruby/2.6.0
     - /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/gems/2.6.0
  - GEM CONFIGURATION:
     - :update_sources => true
     - :verbose => true
     - :backtrace => false
     - :bulk_threshold => 1000
     - :sources => ["https://mirrors.tuna.tsinghua.edu.cn/rubygems/"]
     - :concurrent_downloads => 8
  - REMOTE SOURCES:
     - https://mirrors.tuna.tsinghua.edu.cn/rubygems/
  - SHELL PATH:
     - /Users/你的账户名/.gem/ruby/2.6.0/bin

/Users/你的账户名/.local/share/gem/ruby/2.6.0/bin 添加到 PATH 变量里,修改修改镜像源,加快下载速度

gem sources --add https://mirrors.tuna.tsinghua.edu.cn/rubygems/ --remove https://rubygems.org/

安装好 Xcode 库后,安装一些编译环境,比如 cmake,一些 gollum 依赖的库需要编译安装,这些库是用 cmake 创建的项目。更新自带的库

sudo gem update

然后安装 gollum

brew install cmake pkg-config
gem install --user-install gollum

注意 ⚠️ 由于权限问题,不能安装到系统目录,实际上,也建议安装到非系统目录,即当前账户下的目录,截止 2021-03-06 安装的最新稳定版本 gollum 5.2.1。创建一个目录,并用 git 初始化, gollum 是用 git 来做版本管理的,所以要先初始化,然后使用 gollum 服务,启动 wiki

gollum /path/to/wiki

最后,预览 Wiki 网页,打开 http://localhost:4567,gollum 默认使用 4567 端口号,如果分支使用 main, 那么启动的时候要加参数 --ref 指定为 main

gollum --ref main --emoji --allow-uploads=dir /path/to/wiki

注意

先想好目录结构,不然会很乱,以后改起来就麻烦了!