2014-11-07 21 views
5

Tôi có Máy chủ Ubuntu 14.04 không đầu mà tôi kết nối từ xa bằng SSH. Tôi muốn sử dụng matplotlib và có lô xuất hiện tại khách hàng ssh. Ví dụ, tôi sẽ kết nối sử dụng:Sử dụng matplotlib trên không đầu Ubuntu 14.04 Máy chủ

ssh -X [email protected] 

Và sau đó từ một Python console, tôi muốn điều này để tạo ra một âm mưu trong một cửa sổ:

import matplotlib.pyplot as plt 
plt.plot(range(10)) 
plt.show() 

Tôi đã cài đặt matplotlib trong virtualenv của tôi, và tôi chạy sudo apt-get install python-gtk2, nhưng cốt truyện vẫn không xuất hiện. Tôi cho rằng tôi thiếu rất nhiều gói. Một bộ các gói liên quan đến X khá nhỏ mà tôi có thể cài đặt để thực hiện công việc này là gì? Tôi KHÔNG muốn cài đặt ubuntu-desktop.

+0

cũng https://stackoverflow.com/questions/2801882/generating-a-png-with-matplotlib-when-display-is-undefined – tacaswell

+0

Đó không phải là cùng một câu hỏi. Tôi rõ ràng MUỐN sử dụng một chương trình phụ trợ X, trong khi câu trả lời được chấp nhận về câu hỏi khác hoạt động xung quanh yêu cầu đó. – 10flow

+1

Xin lỗi về điều đó, câu hỏi khác xuất hiện quá thường xuyên, tôi kết hợp mẫu quá mạnh. Bạn có thể nhận các chương trình gui khác để khởi chạy và bạn có máy chủ xserver chạy trên máy từ xa không? – tacaswell

Trả lời

3

Tôi nhận được nó hoạt động trên Ubuntu 14.04.1 Server, nhưng nó rất đau! Phần khôn lanh chắc chắn là virtualenv. Cuối cùng tôi đã có may mắn bằng cách sử dụng phụ trợ Qt4, mà tôi chỉ có thể cài đặt thông qua gói Ubuntu và sau đó đã phải symlink nó vào virtualenv của tôi. Vì vậy, đây là quá trình từng bước ...

Đầu tiên cài đặt trước reqs và hack PyQt4 vào virtualenv của bạn:

$ sudo apt-get install xauth x11-apps python-qt4 
$ ln -s /usr/lib/python2.7/dist-packages/PyQt4 /path/to/myvenv/lib/python2.7/PyQt4 

Bây giờ tay tải về và cài đặt SIP (http://www.riverbankcomputing.com/software/sip/intro) với venv của bạn được kích hoạt, như sau:

$ tar xzf sip-4.16.4.tar.gz 
$ cd sip-4.16.4 
$ python configure.py 
$ make 
$ sudo make install 

Tiếp theo, tải về nguồn matplotlib tarball và sửa đổi các cấu hình thiết lập để buộc nó để cài đặt Qt4 backend:

$ tar xzf matplotlib-1.4.2.tar.gz 
$ cp matplotlib-1.4.2/setup.cfg.template matplotlib-1.4.2/setup.cfg 

Bây giờ sửa setup.cfg gần đường 68 để đọc:

qt4agg = True 

tại Matplotlib sẽ cài đặt sạch trong venv của bạn:

$ pip install -e matplotlib-1.4.2/ 

Bây giờ bạn có thể SSH bằng cách sử dụng -X cờ và lô sẽ được tải từ xa!

Các vấn đề liên quan