2012-07-05 27 views
15

Tôi đã làm việc trên Python khá nhiều gần đây và bắt đầu đọc doc cho Django, tuy nhiên tôi không thể phủ nhận thực tế là hầu hết các video hướng dẫn tôi tìm thấy thường cho thấy Linux là hệ điều hành đã chọn. Tôi đã bỏ qua điều này chủ yếu, nhưng tôi bắt đầu gặp một số vấn đề với những người sử dụng các lệnh như "touch" mà tôi không có ý tưởng về những gì tương đương là trong dấu nhắc lệnh Windows 7. Tôi đã nghe nói về New-Item trong Power Shell, tuy nhiên nó lộn xộn và tôi lo ngại rằng "cuộc săn lùng tương đương" này có thể lặp đi lặp lại ...Phát triển Python/Django, cửa sổ hoặc linux?

Vì vậy, tôi bắt đầu tự hỏi tại sao hầu hết mọi người sử dụng Linux với Python, sẽ là một động thái tốt (biết rằng kiến ​​thức Linux của tôi là hoàn toàn không) để học cách sử dụng Linux cho mục đích phát triển? Nó có cho phép tôi phát triển hiệu quả hơn với Python nói chung không? Liệu có thể liệt kê những lợi ích của việc làm như vậy?

+0

Một nơi tốt hơn cho câu hỏi này là: http://programmers.stackexchange.com/ – sahid

Trả lời

20

Tôi sử dụng Windows trong một thời gian khá phát triển Django, nhưng cuối cùng đã tìm ra rằng Linux chỉ đơn giản là cách tốt hơn để đi.Dưới đây là một số lý do tại sao:

  • một số gói Python không thể được lắp đặt tại tất cả hoặc một cách chính xác trong Windows HOẶC nó sẽ tạo ra rất nhiều rắc rối cho bạn làm như vậy
  • nếu bạn cần để triển khai Django của bạn ứng dụng đó có ý nghĩa hơn khi sử dụng hệ thống có hương vị Unix, đơn giản bởi vì khả năng của nó là 99% môi trường triển khai của bạn là như nhau. Làm khô chạy trên máy cục bộ của bạn với cùng một cấu hình sẽ giúp bạn tiết kiệm rất nhiều thời gian sau đó + ở đây bạn bị "cho phép" để phạm sai lầm.
  • Nếu ứng dụng của bạn trở nên phức tạp hơn trong Linux để có được các phụ thuộc bắt buộc, có thể là phần mở rộng, thư viện, v.v. Trong Windows, bạn sẽ tìm đúng trang để tải xuống mọi thứ và trải qua một số cài đặt và cấu hình phức tạp . Tôi mất rất nhiều thời gian để chỉ tìm kiếm một số điều cụ thể. Trong Linux, nó thường chỉ là "apt-get" (hoặc tương tự) và bạn đã hoàn thành.
  • Tôi có đề cập đến mọi thứ nhanh hơn để tải xuống và cài đặt trong Linux không?

Tất nhiên nếu ứng dụng của bạn đơn giản và bạn không cần quan tâm đến triển khai thì Windows vẫn ổn.

+0

Tôi đồng ý với bạn rằng Linux có nhiều nhà phát triển thân thiện, nhưng tôi muốn chuyển sang cửa sổ 10 cho Python Django, cửa sổ đã giới thiệu " Vỏ điện "nó sẽ tạo sự khác biệt? Một lý do chính để chuyển sang cửa sổ là phiên bản Cộng đồng của Visual Studio và nền tảng Azure. Nhưng tôi vẫn tự hỏi liệu sự phát triển có mượt mà như Linux ở đó không? –

+0

Tôi thực sự không thể trả lời bạn ở đó, nhưng PowerShell không giống với thiết bị đầu cuối Linux. Từ những gì tôi nghe thấy nó không thể thay thế. Bạn vẫn có những vấn đề tôi đã đề cập ở trên (độc lập với thiết bị đầu cuối nào bạn sử dụng). Cuối cùng, bạn có thể thử nó ra khỏi khóa học. –

+0

Tôi nghĩ rằng điểm về triển khai được understated. Nếu bạn định triển khai ứng dụng của mình trên Windows, thì bằng mọi cách, hãy sử dụng Windows để phát triển. Nếu bạn định triển khai nó trên Linux, hãy sử dụng Linux hoặc ít nhất là một hương vị của UNIX để phát triển cục bộ. Điều này giúp bạn giải quyết mọi vấn đề phụ thuộc nền tảng cụ thể sớm hơn là muộn và giảm khả năng xảy ra lỗi nền tảng cụ thể xuất hiện trong QA hoặc sản xuất khi chúng sẽ tốn kém hơn để khắc phục. –

0

django được viết bằng python tinh khiết, do đó, sử dụng Windows + Eclipse + PyDev để phát triển là đủ.

nếu bạn thực sự muốn theo dõi những kẻ hay sử dụng một số lệnh Linux, sau đó có cygwin hoặc mingWin cài đặt và đặt chỉ thị PATH thành BIN. Sau đó, bạn có thể sử dụng chúng (bao gồm chạm).

Linux là lựa chọn tốt nhất để triển khai dự án django, nơi bạn có thể dễ dàng biên dịch/cài đặt/cấu hình một số thứ thú vị như nginx, uWSGI, mod_wsgi, Apache2 và nhiều tiện ích mở rộng Python C hữu ích.

Một lý do khác để sử dụng Linux, là các máy chủ riêng ảo, được sử dụng để lưu trữ dự án, có nhiều khả năng hỗ trợ nó hơn.

5

Mặc dù có một số lợi ích khi sử dụng Linux để phát triển Python (ví dụ: một số thư viện chỉ hoạt động trên Linux); không có gì ngăn bạn sử dụng Windows cho công việc django; Tôi sử dụng nó hàng ngày và không có gì để trồng lên.

IDE phù hợp mà bạn cảm thấy thoải mái sẽ giúp bạn trải nghiệm phát triển thú vị hơn. Nhiều người sử dụng Pydev với Eclipse; nhưng tôi thích PyCharm

Rất nhiều các hướng dẫn sẽ cho bạn thấy một máy tính để bàn Linux hoặc Mac (và vỏ) và bạn có thể nhận được các lệnh tương đương (như touch, ls và những người khác) bằng cách cài đặt unixtools - đó là các phiên bản bản địa của chung unix công cụ.

Bạn nên đánh dấu this website có trình cài đặt Windows cho các thư viện Python phổ biến.

2

Tùy thuộc vào hệ điều hành nào bạn thích nhất. Bạn có thể sử dụng Aptana 3 với pydev (bao gồm) để phát triển.

Khi phát triển nhớ về việc sử dụng lib "python" cho đường dẫn đến thư mục, vì vậy ứng dụng của bạn sẽ hoạt động chính xác trong cửa sổ và Linux.

Ví dụ:

PROJECT_DIR = os.path.dirname(os.path.abspath(__file__)) 

MEDIA_ROOT = os.path.join(PROJECT_DIR, 'site_media') 
1

Tôi thường sử dụng OSX trên máy tính để bàn, nhưng tôi sử dụng Linux cho Python vì đó là cách nó sẽ được triển khai. Cụ thể, tôi sử dụng Ubuntu Desktop trong một máy ảo để phát triển các ứng dụng Python và tôi sử dụng Ubuntu trên máy chủ để triển khai chúng. Điều này có nghĩa là sự hiểu biết của tôi về các yêu cầu về thư viện và mô-đun/phụ thuộc có thể chuyển đổi 100% đến máy chủ khi tôi sẵn sàng triển khai ứng dụng.

Nếu tôi sử dụng OSX (hoặc Windows) để phát triển ứng dụng Python, tôi sẽ phải đối phó với hai phương pháp xử lý yêu cầu và phụ thuộc khác nhau --- nó chỉ là quá nhiều công việc.

Đề xuất của tôi: sử dụng VMWare Player (miễn phí) và tìm một máy ảo Ubuntu để bắt đầu học. Nó không quá phức tạp và thực sự khá thú vị.

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