python-minimal을 구성하는“ImportError : No module _struct”


10

을 실행 sudo apt-get upgrade하면 dpkg 오류가 표시되고 프로세스가 중단됩니다.

오류 정보:

Setting up python-minimal (2.7.3-0ubuntu7.1) ...
Traceback (most recent call last):
  File "/usr/local/lib/python2.7/runpy.py", line 162, in _run_module_as_main
    "__main__", fname, loader, pkg_name)
  File "/usr/local/lib/python2.7/runpy.py", line 72, in _run_code
    exec code in run_globals
  File "/usr/local/lib/python2.7/compileall.py", line 16, in <module>
    import struct
  File "/usr/local/lib/python2.7/struct.py", line 1, in <module>
    from _struct import *
ImportError: No module named _struct
dpkg: error processing python-minimal (--configure):
 subprocess installed post-installation script returned error exit status 255
dpkg: dependency problems prevent configuration of python:
 python depends on python-minimal (= 2.7.3-0ubuntu7.1); however:
  Package python-minimal is not configured yet.

그리고이 문제는 다음 패키지를 처리 ​​할 때 일련의 종속성 문제를 일으 킵니다.

 python
 gwibber-service
 libgwibber3
 libgwibber-gtk3
 gwibber
 gwibber-service-facebook
 gwibber-service-identica
 gwibber-service-twitter
 python-all
 python-dev
 python-all-dev
 python-apt
 python-problem-report
 python-apport
 python-libxml2
 unity-lens-gwibber
 unity-scope-video-remote

마지막 으로이 문제에 대해 내가 할 수있는 일은 없습니다. 며칠 후 루트 디렉토리가 가득 차서이 문제로 인해 소프트웨어를 제거 할 수도 없었습니다.



@Braiam, 나는이 질문을 전에 찾았습니다. 대답은 파이썬을 다시 설치하는 것이 좋습니다. 시도했지만 실패했습니다. 어쨌든 고마워!
Java Xu

sudo apt-get clean 공간을 되 찾는 데 도움이됩니다
frlan

/usr/bin/python심볼릭 링크가 가리 키도록 변경 python3.5했으며 이와 비슷한 오류가 발생했습니다. 왜 python2.7내가 경고없이 심볼릭 링크를 변경했을 때 이미 부서진 데프 와 관련이 있는지 확실하지 않습니다 . IDK, 미래의 여행자를 위해 이곳을 떠나
quietContest

답변:



1

패키지를 살펴보면 python-minimal에는 struct.py가 없지만 python-minimal2.7에는 python-minimal2.7이 있습니다.

따라서 이것을 시도하고 그것이 도움이되는지 확인하십시오.

sudo apt-get install --reinstall python2.7-minimal
sudo apt-get upgrade

그래도 작동하지 않으면 아마도 $ PYTHONPATH가 엉망입니다.

nano ~/.bashrc

export PYTHONPATH="${PYTHONPATH}:/usr/lib/python2.7"그런 다음 줄 을 추가하십시오

source ~/.bashrc

그리고 업데이트를 다시 시도하십시오.


"내보내기"를 추가하기 위해 편집 됨, 그것은 일종의 필수입니다;)
척 R

"python-minimal2.7 패키지를 찾을 수 없습니다"라고 표시되어 있습니다. python2.7-minimal을 의미합니까? python2.7-minimal을 다시 설치하려고 할 때 동일한 종속성 문제가 발생합니다.
Java Xu

흠, 죄송합니다. 다시 연락을받는 데 시간이 오래 걸렸습니다. 시도하십시오 sudo apt-get clean sudo apt-get update sudo apt-get upgrade.
Chuck R

1
작동하지 않을까 걱정됩니다. 후 clean, update그리고 upgrade, 그때 다시 설치하려고 python2.7-minimal하지만, 같은 의존성 문제가 나타납니다 그리고는 reinstall다시 실패합니다.
Java Xu

어떤 패키지에 대해 틀린 것 같습니다. 실제로 struct.py를 포함하는 libpython2.7-minimal입니다. 설치되어 있는지 확인하십시오. 현재 설치 한 python2.7- 최소 버전은 무엇입니까? 힌트 :dpkg -l | grep python2.7-minimal
척 R

1

이 시도

sudo apt purge libpython*

python2.7과 3.7을 제거한 다음 시스템에서 관련 파일을 삭제했습니다. 그 후 나는 python2.7을 다시 설치할 수 없다는 것을 알았다.

소프트 링크 제거

델 가상 환경

자동 제거

sudo dpkg --purge `dpkg --get-selections | grep deinstall | cut -f1`

그런 다음 파이썬 전체 시스템을 검색하여 일부 libpython 파일을 찾았습니다 (확실하지 않으면 dir에서 파일을 rm하지 마십시오.) libpython*패키지를 제거한 후 (하나씩 제거했습니다.), python이 성공적으로 설치되었습니다.

이것이 일부 사람들이 같은 문제를 겪는 데 도움이되기를 바랍니다.


0

이것이 당신에게 전혀 도움이 될지 모릅니다. 어두운 곳에서는 조금 찌르지 만 기본 Python 버전이 2.7로 설정되어 있는지 확인하십시오.

/ usr / bin에는 다음과 같은 세 가지 파일이 있습니다.

python (symlink)
python2.7
python3 (symlink)

그렇게 ls -l /usr/bin | grep python하면 각 심볼릭 링크가 가리키는 것을 볼 수 있습니다.

그것이 당신을 보여 python -> python3주거나 python -> python3.3뭔가 잘못 된 경우. 이 시점에서 다음을 수행하려고합니다.

rm /usr/bin/python
ln -s /usr/bin/python2.7 /usr/bin/python

답장을 보내 주셔서 감사합니다. 내 /usr/bin에서 python에 소프트 링크되어 python2.7있습니다.
Java Xu

왜 이런거야? 을 가리 키도록 symlink를 변경 python3.5했으며 엄청난 양의 파이썬 패키지와 apt도 마찬가지였습니다. 왜 Python3을 기본값으로 사용할 수 없습니까? 올바른 방법은 무엇입니까?
quietContest
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.