Python或者pip都会报以下错误(Python版本为3.5)

linux Ubuntu
mkvirtualenv 虚拟环境名字 -p python3
创建成功后,Python或者pip都会报以下错误(Python版本为3.5)

ailed to import the site module
Traceback (most recent call last):
  File "/home/python/.virtualenvs/mall/lib/python3.5/site.py", line 703, in 
    main()
  File "/home/python/.virtualenvs/mall/lib/python3.5/site.py", line 683, in main
    paths_in_sys = addsitepackages(paths_in_sys)
  File "/home/python/.virtualenvs/mall/lib/python3.5/site.py", line 282, in addsitepackages
    addsitedir(sitedir, known_paths)
  File "/home/python/.virtualenvs/mall/lib/python3.5/site.py", line 204, in addsitedir
    addpackage(sitedir, name, known_paths)
  File "/home/python/.virtualenvs/mall/lib/python3.5/site.py", line 173, in addpackage
    exec(line)
  File "", line 1, in 
  File "/home/python/.virtualenvs/mall/lib/python3.5/site-packages/_distutils_hack/__init__.py", line 194
    f'spec_for_{name}',
                     ^
SyntaxError: invalid syntax

3.6开始支持f关键字

该回答通过自己思路及引用到GPTᴼᴾᴱᴺᴬᴵ搜索,得到内容具体如下:
这个错误是因为你使用的Python版本是3.5,而你的代码中使用了Python 3.6及以上版本的新特性——f-strings,导致语法错误。

解决方法有两个:

1.升级Python版本到3.6及以上

f-strings是在Python 3.6中引入的,如果你想要使用f-strings,可以升级Python版本到3.6及以上。

2.使用旧的字符串格式化方式

如果你不想升级Python版本,可以使用旧的字符串格式化方式,例如使用str.format()方法。例如,将f-string f'spec_for_{name}' 转换为旧的字符串格式化方式可以这样写:

'spec_for_{}'.format(name)

这样就可以避免使用f-strings导致的语法错误了。


如果以上回答对您有所帮助,点击一下采纳该答案~谢谢

  • 建议你看下这篇博客👉 :Ubuntu20.04下创建python虚拟环境,mkvirtualenv: command not found 问题解决
  • 除此之外, 这篇博客: python 如何 安装 使用虚拟环境中的 python中使用mkvirtualenv创建虚拟环境: 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • 需要下载两个包:

    pip install virtualenv
    
    pip install virtualenvwrapper-win
    

    2.在电脑创建一个目录,专门用于存放所有的虚拟环境(一般命名为:env)

    3.配置环境变量,如果不配置环境变量,创建后的虚拟环境在C盘

    在系统环境变量中将创建的env进行添加

    在这里插入图片描述
    配置好了直接打开命令提示符win+R
    输入命令:
    mkvirtualenv 虚拟环境名字

    在这里插入图片描述

    不需要反复的切换盘符,而且创建就进入虚拟环境了
    
  • 以下回答由chatgpt基于相关博客总结生成:

    根据提供的信息,无法确定具体的错误提示,因此无法给出具体的解决方案。建议提供错误提示信息以便更好的帮助解决问题。