0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

20240403 Pythonでprintした時の色を変える、pipenv使う、Neovimちょっとだけ

Posted at

Pythonで文字色を変えてみる

bashと同じような感じで、pythonでもprint("\033[数字m文字列\033[0m")と出力すると色がつく。数字によって色がついたり、下線、打消し線、斜体になったりする。

0~99まで
>>> s = ""
>>> for i in range(0,100):
...     x = str(i).zfill(2)
...     s += f"\033[{i}m{x}\033[0m "
...     if i % 16 == 0:
...         s += "\n"
... print(s)

結果:
image.png

0~255(FF)まで
>>> s = ""
>>> for i in range(0,255):
...     x = format(i,"x").zfill(2)
...     s += f"\033[{i}m{x}\033[0m "
...     if i % 16 == 0:
...         s += "\n"
... print(s)

結果:
image.png

シンプルなように見えてこの数値をゼロ埋めにする方法とか、16進にするけど0xをつけないようにするのとかいろいろ調べた

  • ゼロ埋め: str(100).zfill(10) -> '0000000100'
    文字列に対してゼロ埋めするので、str(100)として文字列に変換する
  • 0xなしの16進: format(100, 'x') -> '64'

16進を0x付きで10桁ゼロ埋めで表示するのとかちょっとめんどい気がする
たぶんこう、、、ほんとかな

>>> f"0x{format(100'x').zfill(10)}"
'0x0000000064'

pipenv

Poetryが最近のおすすめ?なのかもしれないけど、ライブラリ書かないなら別にそこまで必要ないよ、という話らしい
参考:

あとdirenvつかうと、開発対象のあるdirに移動するだけでなんかしてくれるらしい
便利そうだけど後にしよう
仮想環境というのがすごく便利そうなのだけどいまひとつどう使うのかわからない、あれもこれもやると消化不良おこしてやる気なくなるから

ここから先は仮想環境に対する妄想
pipでインストールするモジュールを標準の場所ではなくどこかに入れておいて、なんかグループ的なものとして扱う
仮想環境使ってない場合、二つプロジェクトがあったとして、こっちのプロジェクトではモジュールA,B,Cをimportしてつかう、あっちのプロジェクトではまた別のモジュールとしてB,D,Eをimportして使う、というようになったとき、A,B,C,D,Eのすべてがモジュールのインポートパスに含まれるということになる、なんだか今までそうだったから、それでいい気もするけど仮想環境がもてはやされるということはいろいろダメなんだろう
たとえばこっちプロジェクトではモジュールBのバージョンは1.0以下でないと動かない、あっちの方ではBは2.0以上じゃないとだめ、とかになると困るんだろう
そのために、こっち用とあっち用のモジュールを違う場所にいれて混ざらないように仮想環境で分ける、という理解

すでにあれこれ大量にモジュールをインストールしてるので、なんか役に立ちそうな気がする

こちらのサイトを見てすすめてみた

> pip install pipenv
> pipenv install

とすると、Cドライブにpipenvの環境が作られる
CドライブはSSDで128GBしかなく何時だってショーテージしてるのでD:ドライブにしたい
そんな時はWORKON_HOMEという環境変数を使うと問題なし

> $env:WORKON_HOME="D:\Users\(username)\.virtualenv"
> pipenv install
Creating a virtualenv for this project...
Pipfile: D:\Users\(username)\Documents\RR-convResource\Pipfile
Using D:/Users/(username)/scoop/apps/python/3.12.2/python.exe (3.12.2) to create virtualenv...
[=== ] Creating virtual environment...created virtual environment CPython3.12.2.final.0-64 in 746ms
  creator CPython3Windows(dest=D:\Users\(username)\.virtualenv\RR-convResource-htDn9YUF, clear=False, no_vcs_ignore=False, global=False)
  seeder FromAppData(download=False, pip=bundle, via=copy, app_data_dir=C:\Users\(username)\AppData\Local\pypa\virtualenv)
    added seed packages: pip==24.0
  activators BashActivator,BatchActivator,FishActivator,NushellActivator,PowerShellActivator,PythonActivator

Successfully created virtual environment!
Virtualenv location: D:\Users\(username)\.virtualenv\RR-convResource-htDn9YUF                                                                               
Installing dependencies from Pipfile.lock (2110f5)...
To activate this project's virtualenv, run pipenv shell.
Alternatively, run a command inside the virtualenv with pipenv run.

参考:pipenv で任意の場所の仮想環境を使う #Python - Qiita

で、えーとpipenv shell ってやればいいのかな?
頭が痛いからまた明日にしよう

Neovimのq:が異常に遅い

そういえば、Noevimのq:でコマンド履歴を表示するのが異常に遅い現象があった
Virtualbox上のLinuxでは遅くないが、WindowsOS上のNeovimでは遅い
たぶん15秒くらいまっていた
profileとったらtreesitterがなんかわかんないけど何回も何回も走っていた
q:で表示されるコマンド履歴のfiletypeはvimと書いてあったのでtreesitterの動作対象から外せばよいのかな?とあれこれ試したがなおらず、ダメもとでscoop update neovimでバージョンを最新の0.9.5にしたら治った
なんだったんだろう

けど、たまに遅くなる

バージョンアップは関係なかった
Powershell, lua, jsonのファイルを開いているとき、q:が遅い
NeoTree開いてないと遅い、気がする
Neotree開いていても遅いときもある、

わからん

全く関係ないけどinit.luaを置く場所の調べ方

:echo stdpath('config')でデフォルトの設定読み込みのパスが表示される

0
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?