zsh: no matches found: requests[security]

Question:

I am trying to run a python urllib2 script and getting this error:

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.

After googling the error the solution, on stack overflow is to download requests’ security package:

pip install requests[security]

But when I run that I get the error…

zsh: no matches found: requests[security]

Anyone know why zsh isn’t picking up this library, it installs/upgrades requests just fine, I don’t know why this isn’t working

I am running this on a Debian Server…

Asked By: Kristen

||

Answers:

zsh uses square brackets for globbing / pattern matching.

That means that if you need to pass literal square brackets as an argument to a command, you either need to escape them or quote the argument like this:

pip install 'requests[security]'

If you want to disable globbing for the pip command permanently, you can do so by adding this to your ~/.zshrc:

alias pip='noglob pip'
Answered By: Lukas Graf
Categories: questions Tags: , , ,
Answers are sorted by their score. The answer accepted by the question owner as the best is marked with
at the top-right corner.