2009-08-19 31 views
10

Điều này nghe có vẻ kỳ lạ, nhưng tôi cần một cách tốt hơn để xây dựng các tập lệnh python hơn là mở một tệp bằng nano/vi, thay đổi thứ gì đó, thoát khỏi trình chỉnh sửa và nhập python script.py, lặp đi lặp lại.Python IDE trên Bàn điều khiển Linux

Tôi cần xây dựng tập lệnh trên máy chủ web mà không cần bất kỳ gui nào. Bất kỳ ý tưởng nào tôi có thể cải thiện quy trình làm việc của mình?

Trả lời

20

đặt dòng này trong tập tin vimrc của bạn:

:map <F2> :w\|!python %<CR> 

nay đánh <F2> sẽ tiết kiệm được và chạy script python của bạn

+3

tuyệt vời, cảm ơn! nó giống như F8 Build;) –

+0

rất hữu ích, thx! – timepilot

+0

Thủ thuật này rất tuyệt, thx! – zaxliu

9

Bạn nên cung cấp giao diện tiện ích screen. Mặc dù nó không phải là IDE nhưng nó là một dạng trình quản lý cửa sổ nào đó trên thiết bị đầu cuối - nghĩa là bạn có thể có nhiều cửa sổ và chuyển đổi giữa chúng, điều này làm cho các công việc đặc biệt như thế này dễ dàng hơn nhiều.

+1

Tôi thích tmux tốt hơn màn hình. – Yktula

+0

Có một plugin [tuyệt vời dành cho Vim và R] (http://www.vim.org/scripts/script.php?script_id=2628) sử dụng màn hình tự động. Sẽ được mát mẻ nếu một người nào đó chuyển đến đó để python. Tôi chưa từng xem xét đến số – naught101

+0

Byobu trên các hệ thống dựa trên Debian. – rbanffy

1

Bạn có thể chạy XVNC qua ssh, thực sự đáp ứng khá nhanh để thực hiện loại điều này và mang đến cho bạn giao diện cửa sổ. Tôi đã thực hiện điều này khá hiệu quả trên các dịch vụ DSL Jetstart thực sự hen suyễn ở New Zealand (128K lên/128K xuống = 8^P) và nó chắc chắn đủ đáp ứng cho các cửa sổ gvim và xterm. Một tùy chọn khác là screen, cho phép bạn mở nhiều phiên văn bản và chuyển đổi giữa các phiên.

5

Sử dụng emacs với python-mode bạn có thể thực thi kịch bản với Cc Cc

2

Khi làm việc với Vim trên bàn điều khiển, tôi thấy rằng sử dụng "tab" trong Vim, thay vì có nhiều phiên bản Vim bị treo trong nền, hãy xử lý nhiều tệp trong Vim hiệu quả hơn. Phải mất một chút làm quen với, nhưng nó hoạt động thực sự tốt.

0

Vâng, ngoài việc sử dụng một trong các trình chỉnh sửa bảng điều khiển có khả năng hơn (Emacs hoặc vi sẽ đến với tâm trí), tại sao bạn phải chỉnh sửa nó trên máy chủ web? Chỉ cần chỉnh sửa nó từ xa nếu liên tục chuyển giao FTP/WebDAV có vẻ cồng kềnh.

Emacs có Tramp Mode, gedit trên Linux và bbedit trên Mac cũng hỗ trợ chỉnh sửa từ xa. Có lẽ là một số lượng lớn các biên tập viên khác. Trong trường hợp đó, bạn chỉ cần chỉnh sửa trên một máy tính để bàn có khả năng hơn và khởi động lại kịch bản từ một cửa sổ trình bao.

4

bạn có thể thử ipython. sử dụng lệnh chỉnh sửa của nó, nó sẽ đưa lên trình soạn thảo của bạn (nano/vim/etc), bạn viết kịch bản của bạn, và sau đó thoát khỏi bạn quay trở lại dấu nhắc ipython và kịch bản được tự động thực hiện.

1

Thực tế có 2 câu hỏi. Đầu tiên là bỏ phiếu cho một giao diện điều khiển IDE cho python và thứ hai là một luồng công việc dev/test/deploy tốt hơn.

Trong khi có nhiều cách bạn có thể viết mã python trong bảng điều khiển, tôi thấy sự kết hợp giữa màn hình, vim và python/ipython là tốt nhất vì chúng thường có trên hầu hết các máy chủ. Nếu bạn đang làm các phiên dài, tôi thấy emacs + python-mode thường liên quan đến việc gõ ít hơn.

Để có quy trình làm việc tốt hơn, tôi khuyên bạn nên thiết lập môi trường phát triển. Bạn có thể dễ dàng thiết lập một máy ảo Linux trên máy tính để bàn/máy tính xách tay của bạn một cách dễ dàng những ngày này - không có lý do gì để ngay cả khi nó dành cho các dự án sở thích.Đó là mở ra một lựa chọn lớn hơn rất nhiều IDE sẵn cho bạn, chẳng hạn như:

tôi cũng thiết lập một SCM để theo dõi các thay đổi để bạn làm 01.QA tốt hơn và sử dụng nó để triển khai các thay đổi được kiểm tra trên máy chủ. Ví dụ: Tôi sử dụng Mercurial cho các dự án thú nuôi của mình và tôi chỉ đơn giản là gắn thẻ repo của tôi khi nó sẵn sàng và cập nhật máy chủ sản xuất vào thẻ khi tôi triển khai. Trên devbox, tôi làm:

  • (Hack hack hack, test test test)
  • hg ci -m 'bình luận'
  • thẻ hg
  • hg push

Sau đó, tôi nhảy lên máy chủ và làm như sau khi tôi triển khai:

  • hg cập nhật
  • dịch vụ khởi động lại/máy chủ web khi cần
Các vấn đề liên quan