提问人:joelostblom 提问时间:7/1/2022 更新时间:7/1/2022 访问量:904
使用“pip”安装特定软件包版本时的双引号或单引号
Double or single quotes when installing specific package versions with `pip`
问:
Python 文档特别提到,在安装特定软件包版本时,应使用双引号和 pip:
当使用比较器运算符(如 >、< 或其他一些由 shell 解释的特殊字符)时,软件包名称和版本应括在双引号中:
python -m pip install SomePackage==1.0.4 # specific version python -m pip install "SomePackage>=1.0.4" # minimum version
这对我来说是出乎意料的,因为大多数 Unix shell 在双引号内扩展变量,而不是单引号,我希望我们希望字符串从字面上传递给 pip,而不会发生任何可能的 shell 扩展。
我主要看到 pip 与单引号一起使用“在野外”,关于这个答案的第二条评论让我认为这是 Windows 兼容性问题。这是否正确,或者在 Bash 和 Zsh 等 Unix shell 中使用带 pip 的双引号有什么好处?
答:
2赞
John Bollinger
7/1/2022
#1
在 Bash 和 Zsh 等 Unix shell 中使用带 pip 的双引号有什么好处吗?
假设重点是严格确保参数的(其他)字符都被视为普通字符,不,在 Bourne 家族 shell (如 Bash 和 Zsh)中,双引号严格比单引号更糟糕。然而,在实践中,我认为这种差异实际上与任何可以接受的封装规范无关。pip
请注意,至少在 Linux 和 Mac 等 Unixen 上,仅从人们期望提供的命令行参数的角度考虑因素。执行的命令(即 )仅看到命令行处理的结果,包括引号删除。它不知道使用了什么样的引文,如果有的话。pip
pip
评论
0赞
joelostblom
7/1/2022
谢谢!特别是这一部分很有帮助,这是我想知道的“然而,在实践中,我认为这种差异实际上与 pip 接受的任何包规范无关。
评论
pip