時々、bashシェルでタブ補完を使用すると、タブ補完が表示され、現在のディレクトリにPython仮想環境を作成する前に1〜2秒間一時停止します。
たとえば、という名前の単一のファイルを含むディレクトリでコマンドを実行し、タブを完成させてexample.pdf
コマンドを完了したい場合:
$ ls
example.pdf
$ pdf2txt example<tab>
$ pdf2txt example.pdf
This file has text.
$ ls
bin example.pdf lib lib64 include pyvenv.cfg
その結果、これらのファイルをすべて削除するか、私のディレクトリが不思議なPython仮想環境でいっぱいになることを受け入れる必要があります。私のホームディレクトリでは、bashタブの完成によって生成されたpython venvのみを使用しているので、bash~/bin
スクリプトと任意のpythonスクリプトが混在しています。
残念ながら、この問題を確実に再現することはできませんが、より複雑なファイル(pdf、docxなど)がある場合に発生するようです。
問題の性質上、ウェブ検索では問題を解決できません。これは、すべての結果がPythonスクリプトの作成時のタブ補完の実装に関するものであるためです。
システムメッセージ:
OS: Fedora 36 (though problem started around F34)
Kernel: 5.17.13-300.fc36.x86_64
Pythonファイルの有限再帰リスト(venvファイルは毎回同じであると仮定します):
$ find . -maxdepth 2
./bin
./bin/python3
./bin/python
./bin/python3.10
./bin/pip
./bin/pip3
./bin/pip3.10
./bin/Activate.ps1
./bin/activate
./bin/activate.csh
./bin/activate.fish
./include
./lib
./lib/python3.10
./pyvenv.cfg
完全なファイルリスト:
tree
ここ
ls -R
ここ
関連文書bash_completion
:
/etc/profile.d/bash_completion
かなり普通に見えます。
~/.config/bash_completion
存在しない
/usr/share/bash-completion/bash_completion
Pastebinによって拒否されましたが、ヘッダーに最新バージョンがオンになっていることが表示されます。 フラッグハブ