Ubuntu đang chạy `pip install` báo lỗi 'Không thể xây dựng các gói yêu cầu sau: * freetype'


145

Khi thực hiện pip install -r requirements.txt, tôi gặp lỗi sau trong giai đoạn cài đặt matplotlib:

REQUIRED DEPENDENCIES AND EXTENSIONS
                 numpy: yes [not found. pip may install it below.]
              dateutil: yes [dateutil was not found. It is required for date
                        axis support. pip/easy_install may attempt to
                        install it after matplotlib.]
               tornado: yes [tornado was not found. It is required for the
                        WebAgg backend. pip/easy_install may attempt to
                        install it after matplotlib.]
             pyparsing: yes [pyparsing was not found. It is required for
                        mathtext support. pip/easy_install may attempt to
                        install it after matplotlib.]
                 pycxx: yes [Couldn't import.  Using local copy.]
                libagg: yes [pkg-config information for 'libagg' could not
                        be found. Using local copy.]
              freetype: no  [pkg-config information for 'freetype2' could
                        not be found.]

...

The following required packages can not be built:

                    * freetype

Không nên pip install -r requirements.txtcài đặt freetype? Freetype nên được cài đặt như thế nào trong Ubuntu 12.04 để nó hoạt động với matplotlib?

Câu trả lời:


221

Số pipsẽ không cài đặt phụ thuộc cấp hệ thống. Điều này có nghĩa là pipsẽ không cài đặt RPM ( hệ thống dựa trên Redhat ) hoặc DEB ( hệ thống dựa trên Debian ).

Để cài đặt phụ thuộc hệ thống, bạn sẽ cần sử dụng một trong các phương pháp sau tùy thuộc vào hệ thống của bạn.

Ubuntu / Debian:

apt-get install libfreetype6-dev

Để tìm kiếm các gói trên hệ thống dựa trên Ubuntu / Debian:

apt-cache search <string>

ví dụ:

apt-cache search freetype | grep dev

Redhat / CentOS / Fedora:

yum -y install freetype-devel

Để tìm kiếm các gói trên các hệ thống dựa trên Redhat / CentOS / Fedora:

yum search <string>

ví dụ:

yum search freetype | grep devel

Mac OS X: ( thông qua Homebrew )

brew install freetype

Để tìm kiếm các gói trên hệ thống dựa trên Mac OS X:

brew search <string>

ví dụ:

brew search freetype

Xin lỗi nó được gọi là freetype2những ngày này. Cập nhật.
James Mills

apt-get install freetype2-develcũng đưa ra lỗi tương tự ... Có thể như apt-get install freetype*vậy? Điều đó dường như muốn cài đặt nhiều gói khác
Athena Wisdom

Điều đó có thể cũng sẽ hoạt động :) Xin lỗi tôi tin rằng nó được gọi libfreetype2-devel. Tôi sẽ cập nhật lại câu trả lời của mình: /
James Mills

2
Tôi nghĩ rằng -develquy ước dành cho RPM và -devquy ước dành cho DEB. Hãy thử apt-cache search '^libfreetype.*-dev$'mà đưa ra libfreetype6-dev.
Dietrich Epp

9
fwiw, brew install freetypeđã giúp tôi trên OSX
Nate

144

Tôi đã phải cài đặt libxft-dev để kích hoạt matplotlib trên máy chủ Ubuntu 14.04.

sudo apt-get install libfreetype6-dev libxft-dev

Và sau đó tôi có thể sử dụng

sudo easy_install matplotlib

10
Trên Ubuntu 12.04 LTS tôi cũng cần cài đặt libxft-dev. Cảm ơn về thông tin bổ sung này
toom

3
Tại sao không trực tiếp sử dụng sudo apt-get install python-matplotlib như được đề xuất ở đây: matplotlib.org/users/installing.html
Timo

2
Tôi đã cài đặt libfreetype6-dev. Điều này đã giúp tôi trên Ubuntu 14.10, cảm ơn!
wim

4
điều libxft-dev là những gì đã làm cho tôi! cảm ơn!
TerminalDilettante

10
Rõ ràng, sự phụ thuộc thực sự ở đây là pkg-config, libxft-devcũng cài đặt như một sự phụ thuộc. Vì vậy, câu trả lời đúng sẽ là chạyapt-get install libfreetype6-dev pkg-config
Carles Sala

28

Một cách giải quyết là làm điều sudo apt-get install pkg-configmà tôi tìm thấy trong vấn đề github này .


3
cài đặt pkg-configlà bước thiếu trực quan đối với tôi, điều này khi cài đặt matplotlibtrong một thùng chứa docker với ubuntu:14.04hình ảnh cơ sở.
SlimJim

Điều này cũng đã sửa nó cho tôi trên máy ảo. Có vẻ như pkg-confignhững gì cần thiết cho việc cài đặt máy ảo.
Alma

6

Không có câu trả lời nào hiện có cho tôi để nâng cấp matplotlib trên Ubuntu. Đây là những gì cuối cùng làm việc cho tôi:

$ sudo apt-get install build-dep python-matplotlib
$ pip install matplotlib --upgrade

6

Lệnh này sẽ tải xuống tất cả các phụ thuộc.

Đối với trăn 2.x

sudo apt-get install python-matplotlib

Đối với trăn 3.x

sudo apt-get install python3-matplotlib

Sau khi cài đặt, bạn có thể thử

(sudo) pip install matplotlib

4

Trên Ubuntu, nó hoạt động sau khi tôi cài đặt blt-devgói.

$sudo apt-get install blt-dev
$pip install matplotlib

blt-dev cần apt-get install libfreetype6-devchạy để nó được cài đặt tự động với blt-dev.
Tristan

1

Tôi đang sử dụng Mint, không có câu trả lời nào trong số này có hiệu quả với tôi, tôi cần phải:

sudo apt-get install build-essential g++

1

Tôi gặp vấn đề tương tự với Python 3.6 trên Windows, nhưng sau đó tôi đã chuyển sang Python 3.5.2 và mọi thứ đều hoạt động tốt.


0

Lệnh này sudo apt-get install libfreetype6-devthất bại đối với tôi trên Ubuntu 16.04,
The following packages have unmet dependencies: libfreetype6-dev : Depends: libfreetype6 (= 2.6.1-0.1ubuntu2) but 2.6.1-0.1ubuntu2.3 is to be installed

Vì vậy, tôi đã tải xuống freetype đã cài đặt từ nguồn , ghi có vào hướng dẫn này

$ tar -xvjf freetype-x.y.tar.bz2  # extract the downloaded version file
$ cd freetype-x.y/ 
$ ./configure
$ make
$ sudo make install 

chuyển sang virtualenv pip install matplotlibvà mọi thứ đang hoạt động.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.