“ImportError: python-minimal'i yapılandıran _struct adında bir modül yok”


10

Çalıştırdığımda sudo apt-get upgrade, dpkg hatası beliriyor ve işlemi kesiyor.

Hata detayları:

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.

Ve bu sorun, aşağıdaki paketleri işlerken bir dizi bağımlılık sorununa yol açar:

 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

Son olarak, bu sorun için yapabileceğim hiçbir şey yok. Ve birkaç gün sonra, kök dizin dolu ve bu sorun nedeniyle herhangi bir yazılımı bile kaldıramadım.



@Braiam, bu soruyu daha önce bulmuştum. Cevaplar python'u yeniden yüklemek için önerilir. Denedim ve başarısız oldum. Yine de teşekkürler!
Java Xu

sudo apt-get clean biraz boşluk geri almak için yardımcı olur
frlan

Benim değişti /usr/bin/pythonişaret edecek sembolik python3.5ve buna çok benzer bir hataya neden oldu. Neden emin değilim, muhtemelen python2.7uyarı olmadan symlink değiştirdiğinizde zaten kırılmış deps olması ile ilgili. IDK, bunu gelecekteki gezginler için burada bırakarak
quietContest

Yanıtlar:



1

Tamam, paketlerden geçerek, python-minimal'in struct.py olmadığını, ancak python-minimal2.7'nin olduğunu buldum.

Bunu deneyin ve size yardımcı olup olmadığını görün:

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

Bu bile işe yaramazsa, belki $ PYTHONPATH hesabınız bir şekilde dağılmış olabilir.

nano ~/.bashrc

export PYTHONPATH="${PYTHONPATH}:/usr/lib/python2.7"Sonra satırı ekleyin

source ~/.bashrc

Ve güncellemenizi tekrar deneyin.


"ihracat" eklemek için düzenlendi, bu tür gerekli;)
Chuck R

"Python-minimal2.7 paketi bulunamadı" diyor. Şunu mu demek istedin python2.7-minimal? Python2.7-minimal'i yeniden yüklemeye çalıştığımda, aynı bağımlılık sorunu oluşuyor.
Java Xu

Hmm, üzgünüm sana geri dönmem çok uzun sürdü. Deneyin sudo apt-get clean sudo apt-get update sudo apt-get upgrade.
Chuck R

1
Korkarım işe yaramıyor. Sonra clean, updateve upgrade, o zaman yeniden deneyin python2.7-minimal, ama aynı bağımlılık sorunu görünür ve reinstalltekrar başarısız olur.
Java Xu

Görünüşe göre hangi pakette yanılmışım. Aslında struct.py içeren libpython2.7-minimal. Yüklü olduğundan emin olun. Yüklediğiniz python2.7-minimal'in mevcut sürümü nedir? İpucu:dpkg -l | grep python2.7-minimal
Chuck R

1

Bunu dene

sudo apt purge libpython*

Python2.7 ve 3.7'yi kaldırdım, sonra ilgili dosyaları sistemden sildim. Bundan sonra ben python2.7 yeniden yükleyemiyorum bulundu dahil olmak üzere, hala çalışmıyor birçok yöntem çalıştı:

yumuşak bağlantıları kaldır

del virtual env dirs

autoremove

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

Sonra python tüm sistemi arayarak bazı libpython dosyaları buldum. (Emin değilseniz dosyaları rm'den dirmeyin.) libpython*Paketleri kaldırdıktan sonra (bunları tek tek kaldırdım.), Python başarıyla kuruldu.

Umarım bu bazı insanların aynı problemlere sahip olmasına yardımcı olabilir


0

Bunun size yardımcı olup olmayacağını bilmiyorum, karanlıkta bir bıçak biraz, ama varsayılan Python sürümünüzün 2.7 olarak ayarlandığından emin olun.

/ Usr / bin'de üç endişe konusu dosya vardır:

python (symlink)
python2.7
python3 (symlink)

Bunu ls -l /usr/bin | grep pythonyaparsanız, her bir sembolik bağlantının neyi gösterdiğini göreceksiniz.

Size gösteriyorsa python -> python3veya python -> python3.3yanlış bir şey varsa. Bu noktada şunları yapmak isteyeceksiniz:

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

Cevabın için teşekkürler. Benim /usr/bin, pythonyumuşak bağlı python2.7.
Java Xu

Bu neden? Ben işaret etmek benim symlink değiştirmişti python3.5, ve çok miktarda python paketleri ve aptde borked . Neden Python3'ü varsayılan olarak ayarlayamıyorum? Doğru yol nedir?
quietContest
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.