2014-11-19 7 views
5

Ich benutze Ubuntu und habe Python 2.7.5 und 3.4.0 installiert. Für python 2.7.5 kann ich eine Variable x = Value ('i', 2) in Python 2.7.5, aber nicht 3.4.0 erfolgreich zuweisen. Ich bekomme:Python3: ImportError: Kein Modul mit dem Namen '_ctypes' bei Verwendung von Value aus Modul Multiprocessing

Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
    File "/usr/local/lib/python3.4/multiprocessing/context.py", line 132, in Value 
     from .sharedctypes import Value 
    File "/usr/local/lib/python3.4/multiprocessing/sharedctypes.py", line 10, in < 
module> 
    import ctypes 
    File "/usr/local/lib/python3.4/ctypes/__init__.py", line 7, in <module> 
     from _ctypes import Union, Structure, Array 
ImportError: No module named '_ctypes' 

Ich habe gerade aktualisiert, um 3.3.2 durch die Installation der Quelle von 3.4.0. Es installiert in /usr/local/lib/python3.4

Habe ich auf Python3.4 korrekt aktualisiert?

Eine Sache, die ich bemerkte, dass python3.4 in usr/local/lib installiert ist, während python3.3.2 immer noch in usr/lib installiert ist, so dass es nicht überschrieben wurde.

+0

Es scheint, dass etwas gefoult wurde während der "Installation der Quelle von 3.4.0". Was bedeutet das genau? Funktionierte dieser Befehl in 3.3.2? – bernie

+0

Ich installierte aus dem Quellcode mit dem Befehl sudo make install. Ja Importieren Wert aus Multiprocessing bearbeitet in 3.3.2 –

+0

'_ctypes' wurde nicht erstellt, da die' libffi-dev'-Abhängigkeit nicht verfügbar war. Ziehen Sie stattdessen die [DeadSnakes-PPA] (https://launchpad.net/~fkrull/+archive/ubuntu/deadsnakes) in Betracht. – eryksun

Antwort

10

Auf einem frischen Bild Debian, https://github.com/python/cpython und Lauf Klonen:

sudo apt-get update 
sudo apt-get upgrade 
sudo apt-get dist-upgrade 
sudo apt-get install build-essential python-dev python-setuptools python-pip python-smbus 
sudo apt-get install build-essential libncursesw5-dev libgdbm-dev libc6-dev 
sudo apt-get install zlib1g-dev libsqlite3-dev tk-dev 
sudo apt-get install libssl-dev openssl 
sudo apt-get install libffi-dev 

Und dann

für mich
./configure 
make 
sudo make altinstall 

Got 3.7 installiert ist und funktioniert.

+0

Fantastisch. Kannst du mir jetzt sagen, wie du die obige Liste bekommen hast? Durch Ausprobieren? : -O – Veky

+1

Ehrlich, @Veky Ich habe eine Web-Suche für den Fehler, "ImportError: Kein Modul namens '_ctypes'" und grub, wahrscheinlich versuchte ein paar Dinge, bevor es funktionierte. Will update Antwort zu klären, mit meinem geringen Verständnis von APT, Python, machen, etc. – MikeiLL

3

dachte ich, das Centos hinzufügen würde installiert:

sudo yum -y install gcc gcc-c++ 
sudo yum -y install zlib zlib-devel 
sudo yum -y install libffi-devel 

prüfen Python-Version:

python3 -V

erstellen virtualenv:

virtualenv -p python3 venv

+2

dies wurde als minderwertig gekennzeichnet, und ich schaue es in der Review-Warteschlange. Es funktioniert wirklich nicht als eigenständige Antwort. Ich empfehle das Löschen, aber vielleicht können Sie es verbessern, indem Sie es erweitern? – dbliss

1

Installation libffi-dev und python3.7 fi neu installieren das Problem für mich gelöst.

zu sauber py bauen 3.7 libffi-dev benötigt wird oder auch später Sachen

Verwandte Themen