簡體   English   中英

在Ubuntu 14.04中添加Python.h和/或python3-dev的正確方法是什么?

[英]What's the correct way to add Python.h and/or python3-dev in Ubuntu 14.04?

在Ubuntu 14.04.4 LTS上,我嘗試使用默認的python 3.4.3安裝courseara-dl並遇到錯誤:

src/MD2.c:31:20: fatal error: Python.h: No such file or directory
   #include "Python.h"
                  ^
  compilation terminated.
  error: command 'x86_64-linux-gnu-gcc' failed with exit status 1

  ----------------------------------------
  Failed building wheel for pycrypto

我已經看到一些安裝python3.4-dev來解決此問題的答案。 但是有依賴性錯誤:

The following packages have unmet dependencies:
 python3.4-dev : Depends: python3.4 (= 3.4.0-2ubuntu1) but 3.4.3-1ubuntu1~14.04.3 is to be installed
             Depends: libpython3.4-dev (= 3.4.0-2ubuntu1) but it is not going to be installed
             Depends: libpython3.4 (= 3.4.0-2ubuntu1) but 3.4.3-1ubuntu1~14.04.3 is to be installed
             Depends: libexpat1-dev but it is not going to be installed
E: Unable to correct problems, you have held broken packages.

建議的解決方法是什么? 我必須降級到python3.4.0嗎? 如果是這樣,正確的方法是什么?

當我運行dpkg -l | grep python 3 dpkg -l | grep python 3 ,我同時看到3.4.0和3.4.3。 我應該嘗試apt-get uninstall 3.4.3嗎?

ii  python3 3.4.0-0ubuntu2 amd64 interactive high-level object-oriented language (default python3 version)
ii  python3.4 3.4.3-1ubuntu1~14.04.3 amd64 Interactive high-level object-oriented language (version 3.4)

據此: http ://packages.ubuntu.com/trusty/python3 Ubuntu的官方默認python3版本14.04是3.4.0。 據此: http : //packages.ubuntu.com/trusty-updates/python3.4 ,較新的版本來自更新存儲庫。 發行版通常有一個基本存儲庫和一個更新軟件包的更新存儲庫(Fedora也這樣做)。 您以某種方式安裝了這兩者,可能是因為智能在這里以某種方式失敗了。

您在這里有兩個選擇:

  1. 刪除python3.4的更新包,以便您可以使用默認的python-dev。
  2. 刪除python3的默認軟件包,以便您可以使用更新python3.4-dev。

這里還有另一種可能性,那就是python3.4-dev是使用錯誤的依賴關系構建的,或者在構建時收集了錯誤的依賴關系,但是您的輸出似乎暗示了其他錯誤。

另一種可能會讓人頭疼的可能性是,如果apt未能正確識別python3.4-dev的依賴項。

我不記得我是如何通過ubuntu自動升級在Ubuntu中獲得python 3.4.3的嗎?

問題是libexpat1

apt-cache policy libexpat1
libexpat1:
  Installed: 2.1.0-4ubuntu1.1
  Candidate: 2.1.0-4ubuntu1.1
  Version table:
 *** 2.1.0-4ubuntu1.1 0
        100 /var/lib/dpkg/status
     2.1.0-4ubuntu1 0
        500 http://us.archive.ubuntu.com/ubuntu/ trusty/main amd64 Packages

版本2.1.0-4ubuntu1需要為python3-dev的和版本2.1.0-4ubntu1.1安裝。

我還刪除了python3.4.3,不得不重新安裝python3(python3.4.0)。

之后,我能夠安裝python3-dev

對於我擁有python2.7.6的python2,也存在類似的問題,但是python-dev需要python2.7.5 我不厭倦降級python2,因為目前我還沒有真正使用它。

感謝@ matt-schuchard Matt Schuchard指出了方向。 我仍然不確定一切是否正確,但至少我能夠安裝python3-dev

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM