Tiến bộ gần đây
Tháng 3 năm 2014 : Tin vui! Tàu Python 3,4 với Pip. Pip từ lâu đã là người quản lý gói tiêu chuẩn thực tế của Python. Bạn có thể cài đặt một gói như thế này:
pip install httpie
Wahey! Đây là tính năng tốt nhất của bất kỳ bản phát hành Python nào. Nó làm cho sự giàu có của các thư viện cộng đồng có thể truy cập được cho mọi người. Người mới không còn bị loại trừ khỏi việc sử dụng các thư viện cộng đồng bởi những khó khăn cấm thiết lập.
Tuy nhiên , vẫn còn một số sự thất vọng nổi bật với trải nghiệm đóng gói Python. Tích lũy, họ làm cho Python rất không mong muốn cho người mới. Ngoài ra, lịch sử bỏ bê lâu dài (tức là không giao hàng với người quản lý gói trong 14 năm từ Python 2.0 đến Python 3.3) đã gây thiệt hại cho cộng đồng. Tôi mô tả cả hai dưới đây.
Nỗi thất vọng nổi bật
Điều quan trọng là phải hiểu rằng mặc dù người dùng có kinh nghiệm có thể giải quyết những sự thất vọng này, nhưng chúng là những rào cản đáng kể đối với những người mới sử dụng Python. Trong thực tế, khó khăn và không thân thiện với người dùng nói chung có khả năng ngăn cản nhiều người trong số họ.
Trang web PyPI phản tác dụng
Mỗi ngôn ngữ với trình quản lý gói đều có kho lưu trữ chính thức (hoặc chính thức) cho cộng đồng để tải xuống và xuất bản các gói. Python có Chỉ số gói Python, PyPI. https://pypi.python.org/pypi
Hãy so sánh các trang của nó với các trang của RubyGems và Npm (trình quản lý gói Node).
- https://rubygems.org/gems/rails Trang RubyGems cho gói
rails
- https://www.npmjs.org/package/express trang Npm cho gói
express
- https://pypi.python.org/pypi/simplejson/ trang PyPI cho gói
simplejson
Bạn sẽ thấy các trang RubyGems và Npm đều bắt đầu bằng một mô tả một dòng của gói, sau đó hướng dẫn thân thiện lớn về cách cài đặt nó.
Trong khi đó, khốn cho bất kỳ người dùng Python không may nào ngây thơ nhìn vào PyPI. Trên https://pypi.python.org/pypi/simplejson/ , họ sẽ không tìm thấy hướng dẫn hữu ích nào như vậy. Tuy nhiên, có một liên kết 'Tải xuống' màu xanh lá cây lớn. Nó không phải là không hợp lý để làm theo nó. Aha, họ bấm! Trình duyệt của họ tải xuống một .tar.gz
tập tin. Nhiều người dùng Windows thậm chí không thể mở nó, nhưng nếu họ kiên trì, cuối cùng họ có thể giải nén nó, sau đó chạy setup.py
và cuối cùng với sự trợ giúp của Google setup.py install
. Một số sẽ từ bỏ và phát minh lại bánh xe ..
Tất nhiên, tất cả những điều này là sai. các đơn giản nhất cách để cài đặt một gói là với một lệnh Pip. Nhưng PyPI thậm chí không đề cập đến Pip. Thay vào đó, nó dẫn họ xuống một con đường cổ xưa và tẻ nhạt.
Lỗi: Không thể tìm thấy vcvarsall.bat
Numpy là một trong những thư viện phổ biến nhất của Python. Hãy thử cài đặt nó với Pip, bạn sẽ nhận được thông báo lỗi khó hiểu này:
Lỗi: Không thể tìm thấy vcvarsall.bat
Cố gắng khắc phục đó là một trong những câu hỏi phổ biến nhất trên Stack Overflow: " error: Không thể tìm thấy vcvarsall.bat "
Rất ít người thành công.
Để so sánh, trong tình huống tương tự, Ruby in thông báo này, giải thích những gì đang xảy ra và cách khắc phục:
Vui lòng cập nhật PATH của bạn để bao gồm các công cụ xây dựng hoặc tải xuống DevKit từ http://rubyinstaller.org/doads và làm theo hướng dẫn tại http://github.com/oneclick/rubyinstaller/wiki/Development-Kit
Gói xuất bản là khó
Ruby và Nodejs giao hàng với các trình quản lý gói đầy đủ tính năng, Gem (từ 2007) và Npm (kể từ 2011), và đã nuôi dưỡng các cộng đồng chia sẻ tập trung quanh GitHub. Npm làm cho các gói xuất bản dễ dàng như cài đặt chúng, nó đã có các gói 64k . RubyGems liệt kê các gói 72k . Chỉ mục gói Python đáng kính chỉ liệt kê 41k .
Lịch sử
Bay theo phương châm " bao gồm pin ", Python được vận chuyển mà không có người quản lý gói cho đến năm 2014.
Cho đến Pip, tiêu chuẩn thực tế là một mệnh lệnh easy_install
. Đó là không đủ mong muốn. Không có lệnh để gỡ cài đặt gói.
Pip là một cải tiến lớn. Nó có hầu hết các tính năng của Ruby's Gem. Thật không may, Pip là - cho đến gần đây - thật khó để cài đặt. Trên thực tế, vấn đề vẫn là câu hỏi hàng đầu của Python về Stack Overflow: " Làm cách nào để tôi cài đặt pip trên Windows? "