python3.5 在 pip 中包含 f 字符串(使用 virtualenv)

时间:2021-02-19 19:39:38

标签: python pip virtualenv

当尝试在虚拟环境中使用 python3.5 时,我在 pip 的脚本中发现了一些 f-strings,阻止我通过 pip 安装任何东西,因为 f-strings 是在 python3.6 中引入的。我已经在许多配置中运行了它,但这是显示问题的最简单的片段:

user@machine:/path/to/project$ virtualenv -p $(which python3.5) ./venv
Running virtualenv with interpreter /usr/bin/python3.5
Using base prefix '/usr'
New python executable in /path/to/project/venv/bin/python3.5
Also creating executable in /path/to/project/venv/bin/python
Installing setuptools, pkg_resources, pip, wheel...done.
(venv) user@machine:/path/to/project$ which pip 
/path/to/project/venv/bin/pip
(venv) user@machine:/path/to/project$ pip -V
Traceback (most recent call last):
  File "/path/to/project/venv/bin/pip", line 7, in <module>
    from pip._internal.cli.main import main
  File "/path/to/project/venv/lib/python3.5/site-packages/pip/_internal/cli/main.py", line 60
    sys.stderr.write(f"ERROR: {exc}")
                                   ^
SyntaxError: invalid syntax

如果我修复了这个特定的语法错误,我会收到另一个基于 f-strings 的错误

如何使用 pip 的工作版本获得 python3.5 的虚拟环境?

我知道 python3.5 即将到达 EoL,但似乎 python 对我来说越来越难以使用。旧项目正在崩溃,因为我无法使用这些旧版本的 python。所以我想了解一下如何在未来避免此类错误。答案仅仅是将这些项目向前移植吗?老实说,这只是很多工作,似乎旧版本的 python 应该继续工作。也许这要求太多,而且很难维护这些旧版本的 Python?

0 个答案:

没有答案