Python은 이제 인수를 파일로 생각합니다: 손상된 Emergency, pip, livestreamer 및 Python을 사용하는 대부분의 도구

Python은 이제 인수를 파일로 생각합니다: 손상된 Emergency, 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'

라이브스트리머(및 "pip 설치")와 동일:

#~/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'

첫 번째 매개변수 이름의 파일이 존재하는 경우 두 번째 매개변수에 대해서도 동일한 오류가 발생합니다.

#~/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 웹 서버의 Jinja2 템플릿 엔진 주변 래퍼).
  3. pip, 이머지, 라이브스트리머가 작동하지 않는 것으로 확인되었습니다.
  4. 이상한 빈 디렉토리 /home/username/~/(~/에 대한 포인터가 아닌 실제 디렉토리 ~/~/)를 발견하고 좌절감으로 삭제했습니다.rm -r \~/
  5. 10시간 일한 후 잠자리에 드세요.
  6. 자, Python 도구를 사용하여 부팅한 후에도 여전히 작동하지 않습니다. ~/~/ 디렉토리가 다시 나타나는 것을 발견하여 다시 삭제했습니다.
  7. 기본 Python 버전을 3.3에서 2.7( sudo eselect python set 1)로 변경해 보았지만 도움이 되지 않았습니다.
  8. 다운로드https://pypi.python.org/packages/source/a/aiohttp_jinja2/aiohttp_jinja2-0.4.1.tar.gzmanual 을 사용하여 설치했지만 sudo python3 setup.py install도움이 되지 않았습니다(아마도 핵심 Python 모듈에 여전히 몇 가지 문제가 있을 수 있습니다. os또는 configparser, 확실하지 않습니다.
  9. 질문하기http://수퍼유저.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잘 작동하는데 문제는 다음과 같습니다.파이썬-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

답변1

문제가 있는 프로그램은 모두 dev-lang/python-exec손상된 것으로 보이는 스크립트 래퍼를 사용하여 실행됩니다.

다른 어떤 것도 심각하게 손상되지 않았다고 가정하고 패키지를 다시 설치하려면 다음을 시도해 보십시오(설치한 패키지와 일치하도록 버전 번호 조정).

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

Python 설치도 손상된 경우(또는 다른 중요한 시스템 패키지) 바이너리 패키지를 사용하여 복구할 수 있습니다. 다음에서 일부를 다운로드할 수 있습니다.화약 상자.

설치 손상의 심각도에 따라 Live CD를 부팅하여 패키지를 다운로드하고 파일 시스템을 수동으로 마운트하여 바이너리 패키지를 설치해야 할 수도 있습니다.

관련 정보