You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

pipenv --three创建虚拟环境报错ValueError: 源码字符串不可含空字节

问题背景
  • 线上学习计算机科学课程过程中,使用pipenv --three创建虚拟环境时出现运行故障
  • 在VSCode终端执行pipenv --three命令后,抛出如下错误日志:
Using C:/Users/AppData/Local/Programs/Python/Python39/python.exe (3.9.7) to create virtualenv...                  [=   ] Creating virtual environment...            Failed creating virtual environment               
Traceback (most recent call last):
File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.10_3.10.1520.0_x64__qbz5n2kfra8p0\lib\runpy.py", line 187, in _run_module_as_main                                                       mod_name, mod_spec, code = _get_module_details(mod_name, _Error)                                                     
File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.10_3.10.1520.0_x64__qbz5n2kfra8p0\lib\runpy.py", line 146, in _get_module_details                                                       return _get_module_details(pkg_main_name, error)
File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.10_3.10.1520.0_x64__qbz5n2kfra8p0\lib\runpy.py", line 110, in _get_module_details                                                       __import__(pkg_name)                                                     
File "C:\Users\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\site-packages\virtualenv\__init__.py", line 3, in <module>                                                       
from .run import cli_run, session_via_cli                                                   
ValueError: source code string cannot contain null bytes
  • 已检索公开问题讨论,未找到完全匹配的解决方案。
故障根因
  • 系统存在多版本Python环境冲突:本地手动安装了Python 3.9(路径为C:/Users/AppData/Local/Programs/Python/Python39/),同时系统自带微软应用商店分发的Python 3.10(存放在WindowsApps目录下),pipenv调用虚拟环境创建组件时,错误加载了Python 3.10路径下的第三方包
  • Python 3.10用户目录下安装的virtualenv包文件损坏,源码中混入空字节(null bytes),导致Python解释器无法正常解析加载模块,是触发ValueError: source code string cannot contain null bytes报错的直接原因。
修复步骤
  1. 清理损坏的旧安装包
    打开终端执行命令,完全卸载当前环境中残留的virtualenv:
    pip uninstall virtualenv -y
    如果提示存在多个安装版本,重复执行该命令,直到终端提示当前环境未安装virtualenv为止。
  2. 修正环境变量优先级
    • 按下Win键搜索「环境变量」,打开「编辑系统环境变量」面板,点击「环境变量」按钮
    • 分别编辑「用户变量」和「系统变量」中的Path条目,将手动安装的Python 3.9根目录路径、Python 3.9下的Scripts子目录路径移动到列表最顶部;将所有包含WindowsApps、指向Python 3.10的路径下移,若不需要使用微软商店版Python,可直接删除对应路径条目
    • 保存环境变量配置后,关闭所有已打开的VSCode窗口和终端窗口,重新打开终端执行python --version,确认输出版本为Python 3.9.x,即代表环境变量配置生效
  3. 重新安装依赖组件
    依次执行如下命令,升级基础包管理组件并重新安装pipenv、virtualenv:
    pip install --upgrade pip setuptools wheel
    pip install pipenv virtualenv
  4. 验证虚拟环境创建
    进入目标项目目录,重新执行pipenv --three命令,即可正常完成虚拟环境创建。

*补充排查:如果完成上述步骤后仍出现相同报错,直接手动删除路径C:\Users\你的用户名\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\site-packages\下所有名称包含virtualenv、pipenv的文件夹,再重新执行安装命令即可。


内容的提问来源于stack exchange,提问作者AMass

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.29 17:54:34