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

Python 3.6.4虚拟环境无法导入自身site-packages包问题咨询

虚拟环境不加载自身site-packages?试试这几个排查方向

这种情况我之前在Windows上折腾虚拟环境时也碰到过——明明包已经装到虚拟环境的site-packages里了,pip freeze也能看到,就是导入报错,属实闹心。结合你的环境(Windows 10 64位、Python 3.6.4 64位),给你列几个最可能的原因和解决办法:

1. 先确认虚拟环境是不是真的“活”了

Windows下激活虚拟环境的命令很容易搞错:

  • 如果用CMD,得执行 venv64\Scripts\activate.bat
  • 如果用PowerShell,要执行 venv64\Scripts\Activate.ps1(注意可能需要先设置执行权限)

激活成功后,命令行开头会显示 (venv64) 的标识。别光看标识,再验证下路径:

# 检查Python路径
where python
# 检查pip路径
where pip

输出的路径必须是 venv64\Scripts\python.exe 和 venv64\Scripts\pip.exe,要是指向系统Python的话,说明激活没生效,等于白忙活。

2. 看看Python的模块搜索路径有没有包含虚拟环境的site-packages

激活虚拟环境后,执行这段代码,看看输出里有没有你的虚拟环境site-packages路径:

python -c "import sys; print('\n'.join(sys.path))"

正常情况下,应该能看到类似 venv64\Lib\site-packages 的路径。如果没有,说明Python根本没加载这个目录,自然找不到ujson。这种情况大概率是激活过程出了问题,或者系统的PYTHONPATH环境变量在捣乱。

3. 排查PYTHONPATH环境变量

如果系统里设置了PYTHONPATH,它会强制Python优先加载指定路径的模块,可能会跳过虚拟环境的site-packages。可以先临时清空它试试:

  • CMD里执行:set PYTHONPATH=
  • PowerShell里执行:$env:PYTHONPATH = ""

清空后再尝试导入ujson,要是能成功,说明就是PYTHONPATH的锅,以后激活虚拟环境前记得先清空这个变量,或者调整它的优先级。

4. 重新创建虚拟环境试试

有时候创建虚拟环境时可能因为权限、路径特殊字符(比如路径里有中文或空格)导致异常,这种情况下虚拟环境本身就有问题。可以删掉旧的重新建:

# CMD里删除虚拟环境目录
rmdir /s venv64
# 用指定的Python版本重新创建(确保路径是你系统里的Python3.6.4)
python -m venv venv64
# 激活后重装ujson
venv64\Scripts\activate.bat
pip install ujson

5. 检查虚拟环境的配置文件

打开虚拟环境根目录下的 pyvenv.cfg 文件,看看 include-system-site-packages 这一行的值是不是 false。如果是 true,说明这个虚拟环境继承了系统的site-packages(虽然这不应该导致自己装的包找不到,但也可以改成false后重新激活试试)。

一般来说,按上面的步骤排查,大概率能解决问题——最常见的还是激活没到位或者路径不对的问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.19 10:27:22