파이썬 설정 복구


13

쿠분투 14.4 (파이썬 2.7.6이 표준으로 제공됨)에서 python.org에서 소스를 빌드 한 후 파이썬 2.7.10을 설치하려고 시도하면 데비안에서 최신 파이썬 버전을 별도로 설치하는 방법을 사용하여 파이썬이 깨졌습니다. 업그레이드? . 나는 dpkg가 파이썬 설치와 관련하여 혼란 스럽거나 부러 졌다고 생각되는 표준 명령으로 복구 할 수 없습니다. 이 측면에서 dpkg를 수정하고 싶습니다. 나는 이것이 파일 , 특히 첫 번째 파일 /var/lib/dpkg/status과 관련 이 있다고 생각합니다 . 어떻게 든 재설정해야한다고 생각 하지만 실제로 는 전문가가 아닙니다. 내가 생각하는 이유는 다음과 같습니다./var/lib/dpkg/available/var/lib/dpkg/info/*dpkg

$ apt-cache policy python
python:
  Installed: 2.7.10-1
  Candidate: 2.7.10-1
  Version table:
*** 2.7.10-1 0
    100 /var/lib/dpkg/status
2.7.5-5ubuntu3 0
    500 http://de.archive.ubuntu.com/ubuntu/ trusty/main amd64 Packages

$ /usr/bin/python2.7
Python 2.7.6 (default, Jun 22 2015, 17:58:13) 
[GCC 4.8.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> exit()

그만큼 python 2.7.10을 설치하려고 이유 는 python 2.7.6의 ssl / openssl 관련 문제로 인해 다른 프로그램에 필요하기 때문입니다.하지만 이제는 시스템을 수리하고 싶습니다. .6.


전체 기술

나는 우분투 /ubuntu/648424/muon-is-gone-after-change-of-python-issues-after-python-2-7-10-installation- 에 질문 하여이 문제를 해결하기 시작했습니다. 의 위에 하지만 난 거기에 어떤 대답을하지 않았다. 어쩌면 그것은 군중이 잘못되었을 수도 있습니다. 나는 그 이후로 꽤 많은 노력을 기울여서 문제가 무엇인지 알고 있지만 이것을 달성하는 단계를 모릅니다.

그것은 muon을 설치할 수 없다는 것부터 시작했습니다 sudo apg-get install muon.

$ sudo apt-get install muon
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 muon : Depends: apt-xapian-index but it is not going to be installed
E: Unable to correct problems, you have held broken packages.

일반적인 조언 (예 : /ubuntu/118749/package-system-is-broken-how-to-fix-it )은 도움이되지 않습니다 :

sudo apt-get autoremove
sudo apt-get clean
sudo apt-get autoclean
sudo apt-get update
sudo apt-get upgrade -f
sudo apt-get -f install muon

또는

sudo apt-get -f install

또는

sudo dpkg --configure -a 
sudo apt-get update && sudo apt-get dist-upgrade
sudo apt-get install muon

또는

sudo apt-get -o dpkg::options::="--force-confnew" -o dpkg::options::="--force-confmiss" --reinstall install muon

도와주지 않았다. 그래서 나는 시도했다

$ sudo apt-get install apt-xapian-index
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 apt-xapian-index : Depends: python-xapian (>= 1.0.2) but it is not going to be installed
                    Depends: python-apt (>= 0.7.93.2) but it is not going to be installed
                    Depends: python-debian (>= 0.1.14) but it is not going to be installed
                    Depends: python:any (>= 2.7.1-0ubuntu2)
E: Unable to correct problems, you have held broken packages.

문제는 다른 프로그램뿐만 아니라

$ sudo apt-get install meld 
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 meld : Depends: python:any (>= 2.7.1-0ubuntu2)
        Depends: python-gtk2 (>= 2.14) but it is not going to be installed
        Depends: python-glade2 (>= 2.14) but it is not going to be installed
        Depends: python-gobject-2 (>= 2.16) but it is not going to be installed
        Recommends: python-gnome2 but it is not going to be installed
        Recommends: python-gconf but it is not going to be installed
        Recommends: python-gtksourceview2 (>= 2.4) but it is not going to be installed
E: Unable to correct problems, you have held broken packages.

그래서 (행운없이) 시도했습니다

$ sudo update-alternatives --config python
update-alternatives: error: no alternatives for python

다음은 도움이되지 않았습니다.

sudo dpkg -P python2.7
sudo apt-get install python2.7
sudo dpkg -P python-minimal
sudo apt-get autoremove && sudo apt-get clean sudo apt-get update && sudo apt-get -f install

나는 얻고있다

$ apt-cache policy python
python:
  Installed: 2.7.10-1
  Candidate: 2.7.10-1
  Version table:
*** 2.7.10-1 0
    100 /var/lib/dpkg/status
2.7.5-5ubuntu3 0
    500 http://de.archive.ubuntu.com/ubuntu/ trusty/main amd64 Packages

파이썬을 다시 설치하려고해도 작동하지 않습니다

$ sudo apt-get -o dpkg::options::="--force-confnew" -o dpkg::options::="--force-confmiss" --reinstall install python
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Reinstallation of python is not possible, it cannot be downloaded.
0 upgraded, 0 newly installed, 0 to remove and 16 not upgraded.

또는

$ sudo apt-get -o dpkg::options::="--force-confnew" -o dpkg::options::="--force-confmiss" --reinstall install python2
Reading package lists... Done
Building dependency tree       
Reading state information... Done
E: Unable to locate package python2

제거 프로그램을 빌드하려고 시도해도 작동하지 않습니다.

~/Python-2.7.10$ sudo make uninstall 
make: *** No rule to make target `uninstall'.  Stop.

그래서 나는 어떻게 든 dpkg를 고정시켜야한다고 의심하기 시작했습니다.

$ apt-cache policy python
python:
  Installed: 2.7.10-1
  Candidate: 2.7.10-1
  Version table:
*** 2.7.10-1 0
    100 /var/lib/dpkg/status
2.7.5-5ubuntu3 0
    500 http://de.archive.ubuntu.com/ubuntu/ trusty/main amd64 Packages

$ /usr/bin/python2.7
Python 2.7.6 (default, Jun 22 2015, 17:58:13) 
[GCC 4.8.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> exit()

추가 정보 (부록)

$ dpkg -l python* | grep -v ^un
Gewünscht=Unbekannt/Installieren/R=Entfernen/P=Vollständig Löschen/Halten
| Status=Nicht/Installiert/Config/U=Entpackt/halb konFiguriert/
    Halb installiert/Trigger erWartet/Trigger anhängig
|/ Fehler?=(kein)/R=Neuinstallation notwendig (Status, Fehler: GROSS=schlecht)
||/ Name                                        Version                                 Architektur  Beschreibung
+++-===========================================-=======================================-============-=====================================================================================================================================================================================================================
ii  python                                      2.7.10-1                                amd64        Python 2.7.10
ii  python-apt-common                           0.9.3.5ubuntu1                          all          Python interface to libapt-pkg (locales)
ii  python-chardet-whl                          2.2.1-2~ubuntu1                         all          universal character encoding detector
ii  python-colorama-whl                         0.2.5-0.1ubuntu2                        all          Cross-platform colored terminal text in Python - Wheels
ii  python-cups                                 1.9.66-0ubuntu2                         amd64        Python bindings for CUPS
rc  python-cupshelpers                          1.4.3+20140219-0ubuntu2.6               all          Python modules for printer configuration with CUPS
ii  python-dbus-dev                             1.2.0-2build2                           all          main loop integration development files for python-dbus
ii  python-distlib-whl                          0.1.8-1ubuntu1                          all          low-level components of python distutils2/packaging
rc  python-gobject-2                            2.28.6-12build1                         amd64        deprecated static Python bindings for the GObject library
ii  python-html5lib-whl                         0.999-3~ubuntu1                         all          HTML parser/tokenizer based on the WHATWG HTML5 specification
ii  python-ldb                                  1:1.1.16-1                              amd64        Python bindings for LDB
ii  python-minimal                              2.7.5-5ubuntu3                          amd64        minimal subset of the Python language (default version)
ii  python-ntdb                                 1.0-2ubuntu1                            amd64        Python bindings for NTDB
ii  python-pam                                  0.4.2-13.1ubuntu3                       amd64        Python interface to the PAM library
ii  python-pip-whl                              1.5.4-1ubuntu3                          all          alternative Python package installer
ii  python-renderpm                             3.0-1build1                             amd64        python low level render interface
ii  python-reportlab-accel                      3.0-1build1                             amd64        C coded extension accelerator for the ReportLab Toolkit
ii  python-requests-whl                         2.2.1-1ubuntu0.3                        all          elegant and simple HTTP library for Python, built for human beings
ii  python-setuptools-whl                       3.3-1ubuntu2                            all          Python Distutils Enhancements (wheel package)
ii  python-six-whl                              1.5.2-1ubuntu1                          all          Python 2 and 3 compatibility library (universal wheel)                                               
rc  python-support                              1.0.15                                  all          automated rebuilding support for Python modules                                                      
ii  python-talloc                               2.1.0-1                                 amd64        hierarchical pool based memory allocator - Python bindings                                           
ii  python-tdb                                  1.2.12-1                                amd64        Python bindings for TDB                                                                              
ii  python-twisted-bin                          13.2.0-1ubuntu1                         amd64        Event-based framework for internet applications                                                      
rc  python-twisted-core                         13.2.0-1ubuntu1                         all          Event-based framework for internet applications                                                      
rc  python-ubuntu-sso-client                    13.10-0ubuntu6                          all          Ubuntu Single Sign-On client - Python library                                                        
ii  python-urllib3-whl                          1.7.1-1ubuntu3                          all          HTTP library with thread-safe connection pooling                                                     
ii  python2.7                                   2.7.6-8ubuntu0.2                        amd64        Interactive high-level object-oriented language (version 2.7)                                        
ii  python2.7-minimal                           2.7.6-8ubuntu0.2                        amd64        Minimal subset of the Python language (version 2.7)                                                  
ii  python3                                     3.4.0-0ubuntu2                          amd64        interactive high-level object-oriented language (default python3 version)                            
ii  python3-apport                              2.14.1-0ubuntu3.11                      all          Python 3 library for Apport crash report handling                                                    
ii  python3-apt                                 0.9.3.5ubuntu1                          amd64        Python 3 interface to libapt-pkg                                                                     
ii  python3-aptdaemon                           1.1.1-1ubuntu5.2                        all          Python 3 module for the server and client of aptdaemon                                               
ii  python3-chardet                             2.2.1-2~ubuntu1                         all          universal character encoding detector for Python3                                                    
ii  python3-colorama                            0.2.5-0.1ubuntu2                        all          Cross-platform colored terminal text in Python - Python 3.x                                          
ii  python3-commandnotfound                     0.3ubuntu12                             all          Python 3 bindings for command-not-found.                                                             
ii  python3-dbus                                1.2.0-2build2                           amd64        simple interprocess messaging system (Python 3 interface)                                            
ii  python3-dbus.mainloop.qt                    4.10.4+dfsg-1ubuntu1                    amd64        D-Bus Support for PyQt4 with Python 3
ii  python3-debian                              0.1.21+nmu2ubuntu2                      all          Python 3 modules to work with Debian-related data formats
ii  python3-defer                               1.0.6-2build1                           all          Small framework for asynchronous programming (Python 3)
ii  python3-dev                                 3.4.0-0ubuntu2                          amd64        header files and a static library for Python (default)
ii  python3-distlib                             0.1.8-1ubuntu1                          all          low-level components of python distutils2/packaging
ii  python3-distupgrade                         1:0.220.7                               all          manage release upgrades
ii  python3-gdbm:amd64                          3.4.0-0ubuntu1                          amd64        GNU dbm database support for Python 3.x
ii  python3-gi                                  3.12.0-1ubuntu1                         amd64        Python 3 bindings for gobject-introspection libraries
ii  python3-html5lib                            0.999-3~ubuntu1                         all          HTML parser/tokenizer based on the WHATWG HTML5 specification (Python 3)
ii  python3-minimal                             3.4.0-0ubuntu2                          amd64        minimal subset of the Python language (default python3 version)
ii  python3-pip                                 1.5.4-1ubuntu3                          all          alternative Python package installer - Python 3 version of the package
ii  python3-pkg-resources                       3.3-1ubuntu2                            all          Package Discovery and Resource Access using pkg_resources
ii  python3-problem-report                      2.14.1-0ubuntu3.11                      all          Python 3 library to handle problem reports
ii  python3-pycurl                              7.19.3-0ubuntu3                         amd64        Python 3 bindings to libcurl
ii  python3-pykde4                              4:4.13.3-0ubuntu0.1                     amd64        Python 3 bindings for the KDE Development Platform
ii  python3-pyqt4                               4.10.4+dfsg-1ubuntu1                    amd64        Python3 bindings for Qt4
ii  python3-requests                            2.2.1-1ubuntu0.3                        all          elegant and simple HTTP library for Python3, built for human beings
ii  python3-setuptools                          3.3-1ubuntu2                            all          Python3 Distutils Enhancements
ii  python3-sip                                 4.15.5-1build1                          amd64        Python 3/C++ bindings generator runtime library
ii  python3-six                                 1.5.2-1ubuntu1                          all          Python 2 and 3 compatibility library (Python 3 interface)
ii  python3-software-properties                 0.92.37.3                               all          manage the repositories that you install software from
ii  python3-uno                                 1:4.2.8-0ubuntu2                        amd64        Python-UNO bridge
ii  python3-update-manager                      1:0.196.13                              all          python 3.x module for update-manager
ii  python3-urllib3                             1.7.1-1ubuntu3                          all          HTTP library with thread-safe connection pooling for Python3
ii  python3-wheel                               0.24.0-1~ubuntu1                        all          built-package format for Python
ii  python3-xkit                                0.5.0ubuntu2                            all          library for the manipulation of xorg.conf files (Python 3)
ii  python3.4                                   3.4.0-2ubuntu1.1                        amd64        Interactive high-level object-oriented language (version 3.4)
ii  python3.4-dev                               3.4.0-2ubuntu1.1                        amd64        Header files and a static library for Python (v3.4)
ii  python3.4-minimal                           3.4.0-2ubuntu1.1                        amd64        Minimal subset of the Python language (version 3.4)

$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 14.04.2 LTS
Release:        14.04
Codename:       trusty

$ grep -P '^[ \t]*[^#[ \t]+' /etc/apt/sources.list /etc/apt/sources.list.d/*.list
/etc/apt/sources.list:deb http://de.archive.ubuntu.com/ubuntu/ trusty main restricted
/etc/apt/sources.list:deb-src http://de.archive.ubuntu.com/ubuntu/ trusty main restricted
/etc/apt/sources.list:deb http://de.archive.ubuntu.com/ubuntu/ trusty-updates main restricted
/etc/apt/sources.list:deb-src http://de.archive.ubuntu.com/ubuntu/ trusty-updates main restricted
/etc/apt/sources.list:deb http://de.archive.ubuntu.com/ubuntu/ trusty universe
/etc/apt/sources.list:deb-src http://de.archive.ubuntu.com/ubuntu/ trusty universe
/etc/apt/sources.list:deb http://de.archive.ubuntu.com/ubuntu/ trusty-updates universe
/etc/apt/sources.list:deb-src http://de.archive.ubuntu.com/ubuntu/ trusty-updates universe
/etc/apt/sources.list:deb http://de.archive.ubuntu.com/ubuntu/ trusty multiverse
/etc/apt/sources.list:deb-src http://de.archive.ubuntu.com/ubuntu/ trusty multiverse
/etc/apt/sources.list:deb http://de.archive.ubuntu.com/ubuntu/ trusty-updates multiverse
/etc/apt/sources.list:deb-src http://de.archive.ubuntu.com/ubuntu/ trusty-updates multiverse
/etc/apt/sources.list:deb http://de.archive.ubuntu.com/ubuntu/ trusty-backports main restricted universe multiverse
/etc/apt/sources.list:deb-src http://de.archive.ubuntu.com/ubuntu/ trusty-backports main restricted universe multiverse
/etc/apt/sources.list:deb http://security.ubuntu.com/ubuntu trusty-security main restricted
/etc/apt/sources.list:deb-src http://security.ubuntu.com/ubuntu trusty-security main restricted
/etc/apt/sources.list:deb http://security.ubuntu.com/ubuntu trusty-security universe
/etc/apt/sources.list:deb-src http://security.ubuntu.com/ubuntu trusty-security universe
/etc/apt/sources.list:deb http://security.ubuntu.com/ubuntu trusty-security multiverse
/etc/apt/sources.list:deb-src http://security.ubuntu.com/ubuntu trusty-security multiverse
/etc/apt/sources.list:deb http://archive.canonical.com/ubuntu trusty partner
/etc/apt/sources.list:deb http://extras.ubuntu.com/ubuntu trusty main
/etc/apt/sources.list:deb http://cran.uni-muenster.de/bin/linux/ubuntu trusty/
/etc/apt/sources.list.d/fossfreedom-packagefixes-trusty.list:deb http://ppa.launchpad.net/fossfreedom/packagefixes/ubuntu trusty main
/etc/apt/sources.list.d/jitsi.list:deb http://download.jitsi.org/deb unstable/
/etc/apt/sources.list.d/leviatan1-ppa-trusty.list:deb http://ppa.launchpad.net/leviatan1/ppa/ubuntu trusty main

$ whereis python
python: /usr/bin/python /usr/bin/python3.4-config /usr/bin/python3.4 /usr/bin/python3.4m /usr/bin/python2.7 /usr/bin/python3.4m-config /etc/python /etc/python3.4 /etc/python2.7 /usr/lib/python3.4 /usr/lib/python2.7 /usr/bin/X11/python /usr/bin/X11/python3.4-config /usr/bin/X11/python3.4 /usr/bin/X11/python3.4m /usr/bin/X11/python2.7 /usr/bin/X11/python3.4m-config /usr/local/lib/python3.4 /usr/local/lib/python2.7 /usr/include/python3.4 /usr/include/python3.4m /usr/share/python /usr/share/man/man1/python.1.gz

$ whereis python2.7
python2: /usr/bin/python2.7 /usr/bin/python2 /etc/python2.7 /usr/lib/python2.7 /usr/bin/X11/python2.7 /usr/bin/X11/python2 /usr/local/lib/python2.7 /usr/share/man/man1/python2.1.gz

whereis python2.7과 의 출력은 무엇입니까 whereis python?
Wilf

다음에 소스에서 Python을 컴파일하고 설치하려면 다른 위치에 먼저 설치하는 것이 좋습니다. Python은 다른 응용 프로그램에서 사용하는 소프트웨어 스택의 일부로 시스템에 있습니다. 테스트하지 않고 시스템 전체의 Python 설치를 통해 설치하는 것은 약간 위험합니다. 당신은이 제공하여 설치 위치를 설정할 수 있습니다 --prefix=/path/to/folder받는 ./configure명령.
Benjamin B.

@Wilf 나는 부록에 정보를 추가했다.
Make42

@BenjaminB. 전체 명령을 제공하여 정교하게 만들 수 있습니까? ./configure 명령은 무엇입니까? (아직 파이썬으로 프로그래밍하지 않았습니다.)
Make42

게시 한 다른 스택 교환 질문에 대한 지침을 따르면 어느 시점에서 실행되었습니다 ./configure --prefix=/opt/python. 그렇지 않은 경우, 문제가 발생한 곳일 수 있습니다. --prefix=/opt/python부품을 제공하지 않으면 시스템 전체 설치를 덮어 쓸 수 있습니다. 그 지시를 정확히 따르셨습니까?
Benjamin B.

답변:


20

배포판이 제공하는 것보다 최신 인 Python 패키지를 설치했습니다. 예를 들어, python버전 2.7.10-1이 설치되어 있지만 배포판에는 버전 2.7.5-5ubuntu3 만 있습니다.

APT는 명시 적으로 지시하지 않는 한 패키지를 다운 그레이드하지 않습니다. 예를 들어 정확한 버전의 Python에 의존하는 패키지를 설치하려고하면 패키지를 python다운 그레이드 할 수 없으므로 작동 하지 않습니다. 심지어는 apt-get --reinstall install pythonAPT 뜻이 2.7.5로 파이썬을 다운 그레이드 할 때문에 실패합니다.

시스템을 복구하려면 APT가 다운 그레이드를 수행하도록 허용해야합니다. 그렇게하려면 APT 환경 설정을 정의하십시오 . /etc/apt/preferences.d/allow-downgrade포함 하는 파일 만들기

Package: *
Pin: release o=Ubuntu
Pin-Priority: 1001

/etc/apt/preferences.d(plus /etc/apt/preferences) 의 파일 에는 여러 버전의 패키지를 사용할 수있을 때 기본 선택을 무시하는 우선 순위 선언이 포함되어 있습니다. 이는 "대상 배포에서 최신 버전을 선호합니다"입니다. 패키지에 우선 순위가 1000보다 높은 우선 순위를 부여하면 패키지가 우선 순위가 낮은 이전 버전 인 경우에도 선호됩니다. 설치된 패키지는 우선 순위가 500이므로 우분투 패키지가 승리합니다. 자세한 내용은 다음을 참조하십시오.

man apt_preferences

일단 이러한 우선 순위를 설정하면 실행할 수 있다고 생각합니다

apt-get update
apt-get upgrade

모든 패키지를 Ubuntu의 버전으로 다운 그레이드합니다 (Ubuntu에없는 패키지는 제거되지 않음). 또한 apt-get -f install성공적으로 완료 될 때까지 다른 소프트웨어를 실행 하고 설치하지 마십시오.

모든 것이 다운 그레이드되면 환경 설정 파일을 제거하고 apt-get update다시 실행 하십시오.


1
apt 등 으로이 주제에 대해 더 많이 읽을 수있는 좋은 자료를 알고 있습니까? (또는 다른 말로하면 : 당신은 이것을 어떻게 압니까?)
Make42

1
@ user49283 음, unix.stackexchange.com/tags/apt 및 데비안 위키 (답변에 링크)? 죄송합니다. 경험에 의한 것입니다.
Gilles 'SO- 악마 그만해'

@ Make42 man apt_preferences.
Faheem Mitha

0

내가 발견 한 방법은 한 가지뿐입니다.

  1. 1 단계 : 여기 에서 Python 2.7 deb 패키지를 다운로드 하여 설치하십시오

    sudo dpkg -i <package-name>
  2. Python과 관련된 모든 것을 나열하려면 dbkg 도구를 사용하십시오.

    sudo dpkg -l | grep python
  3. 위에서 찾은 모든 것을 제거

    sudo dpkg --purge --force-all 패키지 이름

  4. 시도하다

    sudo apt upgrade

손상된 마지막 패키지 목록을 제공합니다. 3 단계를 사용하여 제거하십시오.

  1. sudo apt upgrade에서 오류가 발생하지 않을 때까지 3-4 단계를 반복하십시오.

  2. deb 패키지로 설치 한 python 2.7의 위치를 ​​사용하여 / usr / bin / python에 대한 심볼릭 링크를 만들어야 할 수도 있습니다. ( locate bin/python) 및ln -s <path> /usr/bin/python

  3. 이 시점에서 파이썬은 수정되어야합니다. 그러나 do-release-upgrade (LTS가 아닌 최신 우분투로 업데이트하는 방법에 대한 매뉴얼 읽기)

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.