python
\K を使うと、そこまでのマッチ部を省略できる ip -br a からIPv4 を取り出す例 $ ip -br a | grep eth2 eth2 169.254.70.21/16 fe80::4154:6db4:aec3:32f/64 コレを、\k で書くとこうなる。 ip -br a | grep -oP 'eth2\s+\K[\d.]+' つまり、後方参照を使わ…
対処 次の方法で強引に解決した。 export C_INCLUDE_PATH=\ /Applications/Xcode.app\ /Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs\ /MacOSX.sdk/usr/include/libxml2:$C_INCLUDE_PATH pipenv run pip install lxml 理由は、あれだ。macO…
pipenv で環境を整える pipenv でサクッと環境を整える mkdir tatget cd target PIPENV_VENV_IN_PROJECT=1 pipenv install pipenv run pip install pip --upgrade PIPENV_VENV_IN_PROJECT=1 変数を使うと、プロジェクトのディレクトリに作られる。変数の名前…
adguard home の証明書をAPI経由で書き換えたい。 adguard home のAPIを cURL で叩いたら、更新ができる。 cURL で adguard-home のOpenAPIを叩く Basic認証で、通せばいいので、そんなに難しくなく、簡単にAPIを叩くことができる。 adg_pass=___password___…
adguard home には APIがある。 python のpip が提供されている。 https://pypi.org/project/adguardhome/ 使ってみる(準備) プロジェクトとpython環境を作成する mkdir adg cd adg pyenv local 3.9.8 pyenv exec python -V pyenv exec pip install pip --…
pythonで自動化スクリプトで wordpressをなんとかしたい。 nextcloudやwordpressとかphpでできたアプリの設定ファイルを読み取って、データベースをバックアップしたい。 でも、データベースのユーザを増やすのは管理が手間。データベースのパスワードを直接…
pip install でエラー pip インストールで エラーになったので調べた pip._vendor.packaging が出た。 ModuleNotFoundError: No module named 'pip._vendor.packaging' よく見ると python のバージョンが合わない。 PyPIでみると、3.7まで pyenv/pipenv でイ…
pipfile で バージョン(最小)を指定する。 3 系 python_version = "3" 3.9系 python_version = "3.9" 3.9.6 python_version = "3.9" 他言語と違って、>- では指定しないので注意。 っていうか、このほうがわかりやすい。
pipenv 環境を作る 素の状態でpipenvをインストールしていきます。 適当に仮想マシン(コンテナ)を用意します。仮想マシンにログインします。 lxc launch ubuntu:20.04 pyenv-test lxc exec pyenv-test -- adduser takuya lxc exec pyenv-test -- usermod -…
python で ip address がネットワークに含まれるか計算したい このIP 209.85.220.73 この、ネットワーク 209.85.128.0/17 に入るんだっけ。 計算してみる python の netaddr パッケージを用いて計算する pip install netaddr ##または pipenv 経由で pipenv …
pyenv で一時的にバージョンを変える pyenv には、そのシェル内部だけ、一時的にバージョンを変えることができるサブコマンド shell が存在する。 pyenv shell の例 pyenv shell 3.7.2 コマンド類 基本的なコマンド pip / python などは pyenv で指定した方…
前の、ipv6 版です、 ip アドレスを計算を簡便にするライブラリがあったので使ってみることにした。 ライブラリを読み込む インストールする。 $ pip install netaddr 使う準備をする。 from netaddr import * v4/ v6 ともに同じライブラリで扱うことが出来…
ip アドレスを計算を簡便にするライブラリがあったので使ってみることにした。 ライブラリを読み込む インストールする。 $ pip install netaddr 使う準備をする。 from netaddr import * ip アドレス(ネットマスク含む)を扱う。 サブネットマスク表記を含…
macのメニューバーの項目を表示・非表示するのがメンドクサ VPN を接続したときだけメニューバーに表示してくれればいいのに、VPNを使わないときもVPNメニューがでてくるのは邪魔だよね。 defaults で制御できる。 メニューバーの項目は、defaults で設定値…
目次 目次 python のパッケージ周りの進化(?) pipenv を一言でいうと すぐわかるpipenvの使い方。 pipenv についてはこれ読むとわかる。 requirements.txt venv (virtualenv) pyenv pipenvその2 pipenvを使ってみる。 pipenv 環境を作る pipenv インス…
python でA-Zみたいに 「ひらがな」をコードポイントで扱う。 tl;dr >>> [ chr( i+ 0x3042) for i in range(0,85)] ['あ', 'ぃ', 'い', 'ぅ', 'う', 'ぇ', 'え', 'ぉ', 'お', 'か', 'が', 'き', 'ぎ', 'く', 'ぐ', 'け', 'げ', 'こ', 'ご', 'さ', 'ざ', 'し'…
ターミナルの起動が遅い。 最近、妙にターミナルの起動が遅くて苦痛だなと思って調べたら pyenv 関連だった。 rbenv もそうだったし、pyenv もやはり遅い。 rbenv に関してはrbenv init では諦めて、symlink を使って解決しているが pyenv は別の方法を模索…
neovim と pyenv が同時にあると困る。 pyenv で version を切り替えた後に neovim を使おうとすると python3 系のpip モジュールが見つからなくて困る。 問題をもうちょっと詳しく 次のような状態になると、neovim がpython3 ネーヨ。とエラーになる。 pip …
画像を、PDF(画像埋込)に変換する img2pdf を使ってみる img2pdf のインストール img2pdfは pip で提供されている pythonのコマンドなので pip でインストールする。 pip install img2pdf これで準備出来た。 使ってみる。 ls *.jpg | xargs -I@ img2pdf @…
pip を自動で実行すると Yes / No を聞かれる DockerileでCOPYしたシェルスクリプトからpip をインストールしてたら、割とめんどくさい事になった。 Proceed (y/n)? Exception: Traceback (most recent call last): (略 return ask('Proceed (y/n)? ', ('y',…
メールというのは、老頭児なインフラのくせに、以外に今でも使われていてて困る。 SMTPでつながらないのでテスト。 で、SMTPでメールが送れないので接続テストしようと思った。 python で python は smtplib を使えばかんたんに認証できる。 from smtplib im…
pyenv の python をバージョンアップしたい pyenv でインストールしたpython をバージョンアップして、pipをmigrate したい・ pyenv はバージョン毎にpip環境が作られるから、pyenv でglobal をアップグレードすると、使ってたpipのパッケージが移動されずに…
python で int 秒をとる UNIX Epoch な時間が欲しいなーって思ったときにどうするか int秒のタイムスタンプがあったら嬉しいわけですよね。 #!/usr/bin/env python import datetime import time import pprint pp = pprint.pprint a = datetime.datetime.str…
list comprehensions で ネストしたい for for をしたいなと思った。 data = [[ 3 ], [4] ] [ e for row in data for e in row ] ネストと if 文 data = [[ 3 ], [4] ] [ e for row in data for e in row if e %2 ==0 ] 楽しい。 filter も map も要らない。…
コマンドを Popen に渡すときに コマンドを組み立てた文字列を配列で渡すなら、split が便利だけど、shlex.split ならさらに安全に渡せるらしい。 self.prcs = Popen( shlex.split(cmd), shell=False ) たしかに文字列をsplit すると暴走するものね。 また s…
ファイルを更新したら、転送したい。 php のプロジェクトってちまちま転送してると、面倒くさいんですよね。ファイル監視してrsync するのに、grunt とか持ち出すのも馬鹿馬鹿しい。 かといって、サーバーにログインしてvim で編集するとIDE使えないし、コー…
ipython の入力履歴をみたい ipythonの入力のヒストリファイルはどこにあるのか調べたのでメモ ~/.ipython に ipython のファイルがある。 しらべたら次のところにファイルがあった *1 ~/.ipython 最近のLinuxなら ~/.config にファイルを集める傾向があるの…
pyenv をインストールする。 python 3.6 を使いたいなと思ってインストールをはじめました。 ユーザー空間にvirtualenv 作るより楽ちんだし pyenv 使おうぜ インストール git clone git://github.com/yyuu/pyenv.git ~/.pyenv macOS なひとは brew install p…
SpeakerDeck をオフラインで見たい Speaker Deck で良さげなスライドをEvernoteに溜め込みたいなと思った。 ブックマークしてても検索出てこないし。どうしようかな~っておもって。とりあえずダウンロードしてみることにした。 URLをスクレイピングするのに…
起動して入力をわたしたい。 cmd1= "cat" p = subprocess.Popen(cmd1.strip().split(" "), stdin=subprocess.PIPE) p.stdin.write("Hello World\n".encode('utf8')) コマンドを起動するときに、 stdin に PIPEを指定する。実行中の python と サブプロセスの…