Python3

python3指向python2.7.6

  • May 20, 2016

我想當我沒有給予足夠的關注時,我試圖弄亂虛擬環境,從而提升了我的 python 安裝。

python3 --version
Python 2.7.6

但是當我檢查垃圾箱時,我不確定這是怎麼回事:

ls -lah /usr/bin/python3
lrwxrwxrwx 1 root root 9 Sep 21  2015 /usr/bin/python3 -> python3.4

這讓我發瘋,因為發生這種情況我無法正確使用 apt 。我收到 ASCII 錯誤,因為它使用了錯誤的解釋器。

我很確定我用 pyvenv 或 venv 搞砸了,但我不確定是什麼。幫助?

好的,我跑了dpkg -C,得到了一整包半編譯的包。大多數是 python3 包,因為我試圖刪除並重新安裝它。我在它們上執行了 dpkg –configure 並找到了一個給出此錯誤的錯誤:

Setting up python3-gi (3.12.0-1ubuntu1) ...
File "/usr/bin/py3compile", line 4
SyntaxError: Non-ASCII character '\xc2' in file /usr/bin/py3compile on line 4, but no encoding declared; see http://www.python.org/peps/pep-0263.html for details
dpkg: error processing package python3-gi (--configure):
subprocess installed post-installation script returned error exit status 1
Errors were encountered while processing:
python3-gi

我想,這個錯誤以前出現過,就像我現在嘗試安裝其他軟體包時出現的那樣,但在堆棧跟踪中更遠了。

完整dpkg -C

The following packages are only half configured, probably due to problems
configuring them the first time.  The configuration should be retried using
dpkg --configure <package> or the configure menu option in dselect:
python3-aptdaemon.pkcompat PackageKit compatibilty for AptDaemon
python3-aptdaemon.gtk3widgets Python 3 GTK+ 3 widgets to run an aptdaemon clie
python3-dbus         simple interprocess messaging system (Python 3 interface)
python3-uno          Python-UNO bridge
python3-reportlab    ReportLab library to create PDF documents using Python3
mugshot              lightweight user-configuration application
python3-pycurl       Python 3 bindings to libcurl
python3-aptdaemon    Python 3 module for the server and client of aptdaemon
python3-setuptools   Python3 Distutils Enhancements
catfish              File searching tool which is configurable via the command
lsb-release          Linux Standard Base version reporting utility
python3-speechd      Python interface to Speech Dispatcher
python3-gi           Python 3 bindings for gobject-introspection libraries
python3-xdg          Python 3 library to access freedesktop.org standards
gdebi-core           simple tool to install deb files
python3-pexpect      Python 3 module for automating interactive applications
python3-requests     elegant and simple HTTP library for Python3, built for hu
python3-crypto       cryptographic algorithms and protocols for Python 3
menulibre            advanced FreeDesktop.org compliant menu editor
python3-louis        Python bindings for liblouis
nvidia-352           NVIDIA binary driver - version 352.79
python3-colorama     Cross-platform colored terminal text in Python - Python 3
python3-pyatspi      Assistive Technology Service Provider Interface - Python3
python3-piston-mini-client library for writing clients for Django's Piston RES
python3-oneconf      synchronize your configuration data over the network (Pyt
python3-defer        Small framework for asynchronous programming (Python 3)
python3-commandnotfound Python 3 bindings for command-not-found.
python3-distlib      low-level components of python distutils2/packaging
python3-chardet      universal character encoding detector for Python3
python3-lxml         pythonic binding for the libxml2 and libxslt libraries
blender              Very fast and versatile 3D modeller/renderer
ufw                  program for managing a Netfilter firewall
python3-cairo        Python 3 bindings for the Cairo vector graphics library
apt-clone            Script to create state bundles
python3-dirspec      Python User Folders Specification Library
thin-client-config-agent Retrieve the list of remote desktop servers for a use
python3-psutil       module providing convenience functions for managing proce
gdebi                simple tool to install deb files - GNOME GUI
python3-icu          Python 3 extension wrapping the ICU C++ API
screen-resolution-extra Extension for the GNOME screen resolution applet
python3-httplib2     comprehensive HTTP client library written for Python3
python3-six          Python 2 and 3 compatibility library (Python 3 interface)
python3-pkg-resources Package Discovery and Resource Access using pkg_resource
ubuntu-drivers-common Detect and install additional Ubuntu driver packages
hplip-data           HP Linux Printing and Imaging - data files
python3-html5lib     HTML parser/tokenizer based on the WHATWG HTML5 specifica
python3-oauthlib     generic, spec-compliant implementation of OAuth for Pytho
python3-pil          Python Imaging Library (Python3)
python3-pip          alternative Python package installer - Python 3 version o
language-selector-common Language selector for Ubuntu
python3-xkit         library for the manipulation of xorg.conf files (Python 3
python3-urllib3      HTTP library with thread-safe connection pooling for Pyth

進而

which python3

返回

/usr/bin/python3

dpkg -S /usr/bin/python3
python3-minimal: /usr/bin/python3

啊哈!但這意味著什麼?

dpkg -l python3-minimal
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name           Version      Architecture Description
+++-==============-============-============-=================================
ri  python3-minima 3.4.0-0ubunt amd64        minimal subset of the Python lang

嘗試重新安裝時出現錯誤,然後嘗試使用 dpkg 對其進行配置:

sudo dpkg --configure python3-minimal
Setting up python3-minimal (3.4.0-0ubuntu2) ...
/var/lib/dpkg/info/python3-minimal.postinst: 5: /var/lib/dpkg/info/python3-minimal.postinst: py3compile: not found
dpkg: error processing package python3-minimal (--configure):
subprocess installed post-installation script returned error exit status 127
Errors were encountered while processing:
python3-minimal

回顧一切,我發現問題是虛擬環境創建的 bin 目錄實際上創建了指向我的根 bin 目錄的符號連結。

最後,我安裝了一個不同的作業系統並從備份中載入了我的文件。

引用自:https://unix.stackexchange.com/questions/277627