web-dev-qa-db-ja.com

Python引数はファイルであると見なされるようになりました:壊れたemerge、pip、livestreamer、およびPython

これらのコマンドの場合(bashとfishの両方で):

Sudo emerge eix
emerge eix

このエラーが発生します:

usage: emerge [-h] [--version] [input [input ...]]
emerge: error: argument input: can't open 'eix': [Errno 2] No such file or directory: 'eix'

Livestreamer(および「pipinstall」)と同じこと:

#~/temp> livestreamer http://www.Twitch.tv/totalbiscuit
usage: livestreamer [-h] [--version] [input [input ...]]
livestreamer: error: argument input: can't open 'http://www.Twitch.tv/totalbiscuit': [Errno 2] No such file or directory: 'http://www.Twitch.tv/totalbiscuit'

最初の引数の名前のファイルが存在する場合、2番目の引数に対して同じエラーが発生します。

#~/temp> emerge test eix
usage: emerge [-h] [--version] [input [input ...]]
emerge: error: argument input: can't open 'test': [Errno 2] No such file or directory: 'test'
#~/temp> touch test
#~/temp> emerge test eix
usage: emerge [-h] [--version] [input [input ...]]
emerge: error: argument input: can't open 'eix': [Errno 2] No such file or directory: 'eix'

再現する方法(実際にはそうではありません):

  1. 死にかけているキーボードで楽しくコーディングしてください(ケーブルが壊れていると、〜/に奇妙なファイルが作成されることがあります)。
  2. (おそらく無関係)もう必要ないので、プロセスでSudo pip3 uninstall aiohttp_jinja2を実行します(aiohttp.web AsyncIO WebサーバーのJinja2テンプレートエンジンのラッパー)。
  3. Pip、emerge、livestreamerが機能しないことを確認してください。
  4. 奇妙な空のディレクトリ/ home/username /〜/(実際のディレクトリ〜/〜/であり、〜/へのポインタではありません)を見つけて、rm -r \~/でフラストレーションから取り除きます。
  5. 10時間の仕事の後に眠りにつく。
  6. 目を覚ますと、Pythonを使用するツールは起動後も機能しません。〜 /〜/ディレクトリが再び存在することを確認し、再度削除してください。
  7. プライマリPythonバージョンを3.3(Sudo eselect python set 1)から2.7に変更してみてください。役に立ちません。
  8. ダウンロード https://pypi.python.org/packages/source/a/aiohttp_jinja2/aiohttp_jinja2-0.4.1.tar.gz そしてSudo python3 setup.py installを使用して手動でインストールしますが、そうではありませんヘルプ(おそらくコアPythonモジュール、おそらくosまたはconfigparserで何かがまだ発生している、わからない。
  9. http://superuser.com で質問してください。技術的すぎて、Linuxに関連していることに気づき、ここで質問してください。

iPythonも興味深い方法で死んでいます(ipythonとipython3の両方):

#~> ipython
You are running chardetect interactively. Press CTRL-D twice at the start of a blank line to signal the end of your input. If you want help, run chardetect --help

何か提案はありますか?

更新:近づいています。

したがって、/usr/bin/python2.7 /usr/lib/python-exec/python2.7/emerge -av eixは問題なく機能します。問題は、 python-exec2 に関連していると思います。

#~> file /usr/bin/livestreamer
/usr/bin/livestreamer: symbolic link to ../lib/python-exec/python-exec2
#~> file /usr/bin/emerge
/usr/bin/emerge: symbolic link to ../lib/python-exec/python-exec2
#~> file /usr/bin/pip
/usr/bin/pip: symbolic link to ../lib/python-exec/python-exec2
#~> file /usr/bin/pip3
/usr/bin/pip3: symbolic link to ../lib/python-exec/python-exec2
2
kolobos

問題が発生しているプログラムはすべて、dev-lang/python-execスクリプトラッパーを使用して実行されていますが、これは何らかの理由で破損しているようです。

そのパッケージの再インストールを試みるには、他に深刻な被害がないことを前提として、次のことを試すことができます(インストールされているパッケージと一致するようにバージョン番号を調整します)。

/usr/bin/python2.7 /usr/lib/python-exec/python2.7/emerge -1a dev-lang/python-exec

pythonインストール(またはその他の重要なシステムパッケージ)も壊れている場合は、バイナリパッケージを使用して回復できるはずです。 Tinderbox からダウンロードできます。

インストールがどれほどひどく壊れているかによっては、Live CDを起動してパッケージをダウンロードし、ファイルシステムを手動でマウントしてバイナリパッケージをインストールする必要がある場合があります。

3
Mat