2015-05-29 33 views
11

Tôi cố gắng để chạy một kịch bản python urllib2 và nhận được lỗi này:zsh: không sánh tìm thấy: yêu cầu [an ninh]

InsecurePlatformWarning: A true SSLContext object is not available. This prevents urllib3 from configuring SSL appropriately and may cause certain SSL connections to fail. For more information, see https://urllib3.readthedocs.org/en/latest/security.html#insecureplatformwarning .

Sau khi googling lỗi các giải pháp, trên stack overflow là để tải về an ninh yêu cầu gói:
pip install requests[security]

Nhưng khi tôi chạy mà tôi nhận được lỗi ...

zsh: no matches found: requests[security]

Bất cứ ai biết tại sao zsh không nhặt thư viện này, nó cài đặt/nâng cấp yêu cầu tốt, tôi không biết tại sao điều này không hoạt động

Tôi đang chạy này trên một máy chủ Debian ...

Trả lời

34

zsh sử dụng square brackets for globbing/pattern matching.

Điều đó có nghĩa rằng nếu bạn cần phải vượt qua dấu ngoặc vuông đen như một tham số cho một lệnh, bạn có cần phải thoát khỏi chúng hoặc trích lập luận như thế này:

pip install 'requests[security]' 

Nếu bạn muốn vô hiệu hóa globbing cho pip lệnh vĩnh viễn, bạn có thể làm như vậy bằng cách thêm này để ~/.zshrc của bạn:

alias pip='noglob pip' 
+0

đó làm việc một cách hoàn hảo cảm ơn bạn, bây giờ tôi chỉ cần đảm bảo nó cài đặt vào đúng vị trí. – Kristen

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