zsh: no matches found: requests[security]

PythonPipPython RequestsZsh

Python Problem Overview


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...

Python Solutions


Solution 1 - Python

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'

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionKristenView Question on Stackoverflow
Solution 1 - PythonLukas GrafView Answer on Stackoverflow