■
pyenv install 3.11.6
などで
ImportError: No module named _ssl
とエラーがでてどのver.のpythonもインストールできないとき システムじゃない、ローカルフォルダにopensslをインストールして
./config --prefix=$HOME/.local
インストールコマンドに環境変数の設定を以下のように渡してあげればうまくいった。
CPPFLAGS=-I$HOME/.local/include/openssl/include \ LDFLAGS=-L$HOME/.local/lib64 \ SSH=$HOME/.local/ssl pyenv install -v 3.11.6
いつやっても忘れる。 とほほ
libhttpserverメモ
C++のhttpサーバライブラリlibhttpserver
をインストールする際にコケたことの備忘録
以下は特に問題なくインストールする。
The minimum versions required are: g++ >= 5.5.0 or clang-3.6 C++17 or newer libmicrohttpd >= 0.9.64 [Optionally]: for TLS (HTTPS) support, you'll need libgnutls. [Optionally]: to compile the code-reference, you'll need doxygen.
以下の手順で本体のインストール
./bootstrap mkdir build cd build ../configure make make install # (optionally to install on the system)
生成されたexamplesにあるhello_world
を構築するも"C++17"の環境じゃないのでコンパイルできない。確認してください、的なメッセージを受け取る。
どこかの手順に"-std=c++17"のフラグを渡さないといけないのだけど、
./configure -CXXFLAGS="-std=c++17"
を行うも、うまく行かない。
以下のページで
ブートストラップモードのときは configure に CFLAGS, CXXFLAGS を指定する方法は使えません。
とのことで、
./bootstrap BOOT_CFLAGS="-std=c++17"
で、うまく通った。
vim-test
インタプリタ作成しながら、GO言語も学習し、同時にvimも学習している。
テスト環境に vim-test
を導入しているが
github.com
:TestFile
が動作しない。
:TestSuite
は問題なく動くのだが。
現場からは以上です。
追記:
go test
コマンドでは正常に動く。。。
vimの読み込みオーダー
c. Five places are searched for initializations. The first that exists is used, the others are ignored. The $MYVIMRC environment variable is set to the file that was first found, unless $MYVIMRC was already set and when using VIMINIT. I The environment variable VIMINIT (see also compatible-default) (*) The value of $VIMINIT is used as an Ex command line. II The user vimrc file(s): "$HOME/.vimrc" (for Unix) (*) "$HOME/.vim/vimrc" (for Unix) (*) "s:.vimrc" (for Amiga) (*) "home:.vimrc" (for Amiga) (*) "home:vimfiles:vimrc" (for Amiga) (*) "$VIM/.vimrc" (for Amiga) (*) "$HOME/_vimrc" (for Win32) (*) "$HOME/vimfiles/vimrc" (for Win32) (*) "$VIM/_vimrc" (for Win32) (*) "$HOME/config/settings/vim/vimrc" (for Haiku) (*) Note: For Unix and Amiga, when ".vimrc" does not exist, "_vimrc" is also tried, in case an MS-DOS compatible file system is used. For MS-Windows ".vimrc" is checked after "_vimrc", in case long file names are used. Note: For Win32, "$HOME" is checked first. If no "_vimrc" or ".vimrc" is found there, "$VIM" is tried. See $VIM for when $VIM is not set. III The environment variable EXINIT. The value of $EXINIT is used as an Ex command line. IV The user exrc file(s). Same as for the user vimrc file, but with "vimrc" replaced by "exrc". But only one of ".exrc" and "_exrc" is used, depending on the system. And without the (*)! V The default vimrc file, $VIMRUNTIME/defaults.vim. This sets up options values and has "syntax on" and "filetype on" commands, which is what most new users will want. See defaults.vim.
以下の5か所を検索し、最初に引っかかったものが適用される。
vim ショートカット
vim のショートカットがまとまっていてよき。 vim.rtorr.com
Commandモード時のカーソル移動で、
- ctrl-w, ctrl-b で先頭、末尾の移動
- ctrl-u で入力の全削除
ができることは分かったが、
未だ分からないのは
- 1文字単位でのカーソル移動方法(カーソルキーを使わないやり方)
がわからない。
[追記]
リマップするしかないようだ。
gibbs samplingのコード供養
ポアソン混合モデルの gibbs sampling を書いたので供養のため以下に載せておきます。
for i in range(MAXITER): for n in range(N): # (4.37), (4.38) for k in range(K): etas[n][k] = exp(Xs[n] * ln(lambdas[k]) - lambdas[k] + ln(pis[k])) # normalization subtotal = sum(etas[n]) for k in range(K): etas[n][k] /= subtotal # Ss[n] = np.random.multinomial(n=1, pvals=etas[n]) for k in range(K): # (4.42) hat_a[k] = sum(Ss[n][k] * Xs[n] for n in range(N)) + a hat_b[k] = sum(Ss[n][k] for n in range(N)) + b # (4.41) lambdas[k] = np.random.gamma(shape=hat_a[k], scale=1 / hat_b[k]) # (4.44) for k in range(K): hat_alphas[k] = sum(Ss[n][k] for n in range(N)) + alphas[k] pis = np.random.dirichlet(alpha=hat_alphas, size=1).reshape(K)