python - 当我尝试在 Python 3.5.1 中安装 paramiko 模块时,我得到一个无效的语法并且无法安装它
问题描述
当我尝试在 Python 3.5.1 中添加一个名为 paramiko 的模块以在命令提示符下添加 ssh 通信功能时,我收到以下错误消息并且无法安装它。
Traceback (most recent call last):
File "C:\Users\tishi\AppData\Local\Programs\Python\Python35\lib\runpy.py", line 170, in _run_module_as_main
"__main__", mod_spec)
File "C:\Users\tishi\AppData\Local\Programs\Python\Python35\lib\runpy.py", line 85, in _run_code
exec(code, run_globals)
File "C:\Users\tishi\AppData\Local\Programs\Python\Python35\lib\site_packages\pip\__main__.py", line 21, in <module
from pip._internal.cli.main import main as _main
File "C:\Users\tishi\AppData\Local\Programs\Python\Python35\lib\site_packages\pip\internal\cli\main.py", line 60
sys.stderr.write(f "ERROR: {exc}")
^
SyntaxError: invalid syntax
对于安装方法,我输入如下
py -m pip install paramiko
我希望你能帮我解决这个问题,谢谢。
解决方案
如错误消息中所示,字符串和变量编辑规范 f "ERROR: {exc}" 是格式化的字符串文字,自 Python 3.6 起就已支持该规范。
您的 3.5.1 版本不支持它们,因此您可能会收到 SyntaxError: invalid syntax。
如何在 Python 中使用 f-strings(格式化字符串文字)
Python 3.6 引入了 f-string(f-strings,格式化字符串,格式化字符串字面量)机制,使得编写冗余字符串方法 format() 变得更加容易。
请注意,这在 3.5 之前的版本中不可用。
格式化字符串时,从 Python 3.6 开始可以使用格式化字符串文字(f-strings)作为使用 format 方法的更简洁的方式。
如果您仔细观察,似乎不是 paramiko 导致了问题,而是 pip。
另外,如果您查看pip 20.3.4 - PyPI,似乎 Python 2.7/3.5 支持到此版本,并且就在最近(2021 年 1 月 23 日),两者都在同一天发布,仅 21.0 系列支持 Python 3.6 及更高版本,以及同时支持 Python 2.7/3.5 的 20.3 系列。两人在同一天被释放。
发布历史 - pip - PyPI[在此处输入链接描述][1]
如果你的 pip 已经升级到 21.x,那么无论你做什么都可能无法使用那个模块,但是你可以尝试几种方法来降低 pip 版本号。
使用不超过 20.3.4 的旧版本号重新安装 pip 本身。使用@metropolis 介绍的方法为 Python 3.5 安装 pip 创建一个新的 Python 3.5.1 环境并在其中安装 Python 3.5 的 pip。
推荐阅读
- api - Axios GET 不包括 Nuxt 模板中的参数
- c# - 从 SoapUI 调用 Web 方法时模拟失败
- python-3.x - 从 .txt 文件中读取数据并计算平均值
- git - 如何使用 git bash 切换到另一个用户的分支
- java - 如何混合两个字符串并生成另一个?
- liferay - How to fetch the author profile picture on WebContent template?
- c++ - C ++如何避免从接口覆盖虚拟方法
- ajax - ajax调用后页面不更新
- sql - 如何在 MS Access 中使用 SQL 将多个值作为用户输入
- sql - 在存储过程中将自定义数据类型从一个数据库传递到另一个数据库