[新人求教] Python中无法创建 pipenv 虚拟环境怎么办?

安装好 pipenv 后在 cmd 输入:pipenv install 显示如下:
Traceback (most recent call last):
File “c:\programdata\anaconda3\lib<a target=”_blank" href=“http://runpy.py” rel=“nofollow”>runpy.py", line 193, in _run_module_as_main
main”, mod_spec)
File “c:\programdata\anaconda3\lib<a target=”_blank" href=“http://runpy.py” rel=“nofollow”>runpy.py", line 85, in _run_code
exec(code, run_globals)
File “C:\ProgramData\Anaconda3\Scripts\pipenv.exe<a target=”_blank" href=“http://main.py” rel=“nofollow”>main.py", line 5, in <module>
File “c:\programdata\anaconda3\lib\site-packages\pipenv<a target=”_blank" href=“http://init.py” rel=“nofollow”>init.py", line 47, in <module>
from .cli import cli
File “c:\programdata\anaconda3\lib\site-packages\pipenv\cli<a target=”_blank" href=“http://init.py” rel=“nofollow”>init.py", line 3, in <module>
from .command import cli
File “c:\programdata\anaconda3\lib\site-packages\pipenv\cli<a target=”_blank" href=“http://command.py” rel=“nofollow”>command.py", line 7, in <module>
import crayons
File “c:\programdata\anaconda3\lib\site-packages\pipenv\patched<a target=”_blank" href=“http://crayons.py” rel=“nofollow”>crayons.py", line 49, in <module>
is_powershell = “powershell” in shellingham.detect_shell()[0]
File “c:\programdata\anaconda3\lib\site-packages\pipenv\vendor\shellingham<a target=”_blank" href=“http://init.py” rel=“nofollow”>init.py", line 22, in detect_shell
shell = get_shell(pid, max_depth=max_depth)
File “c:\programdata\anaconda3\lib\site-packages\pipenv\vendor\shellingham<a target=”_blank" href=“http://nt.py” rel=“nofollow”>nt.py", line 100, in get_shell
processes = dict(_iter_process())
File “c:\programdata\anaconda3\lib\site-packages\pipenv\vendor\shellingham<a target=”_blank" href=“http://nt.py” rel=“nofollow”>nt.py", line 78, in _iter_process
info = {‘executable’: str(pe.szExeFile.decode(‘utf-8’))}
UnicodeDecodeError: ‘utf-8’ codec can’t decode byte 0xd7 in position 0: invalid continuation byte

求老哥们帮帮忙
[新人求教] Python中无法创建 pipenv 虚拟环境怎么办?


8 回复

pip 和 pipenv 是什么版本


帖子回复:

遇到pipenv创建虚拟环境失败,通常有几个常见原因和对应的解决方法。这里给你一个完整的排查流程和代码示例。

1. 首先检查pipenv是否正确安装

# 检查pipenv版本
pipenv --version

# 如果未安装,使用pip安装(建议用国内镜像)
pip install pipenv -i https://pypi.tuna.tsinghua.edu.cn/simple

2. 检查Python路径配置 有时候pipenv找不到Python解释器。可以指定Python版本:

# 明确指定Python版本(例如3.9)
pipenv --python 3.9

# 或者指定Python解释器的完整路径
pipenv --python /usr/bin/python3.9

3. 完整的环境创建示例

# 1. 进入你的项目目录
cd /path/to/your/project

# 2. 清理可能存在的旧环境
rm -rf ~/.local/share/virtualenvs/your-project-*
rm -f Pipfile Pipfile.lock

# 3. 创建新环境(使用清华镜像加速)
pipenv install --pypi-mirror https://pypi.tuna.tsinghua.edu.cn/simple

# 4. 激活环境
pipenv shell

4. 如果遇到权限问题

# 避免使用sudo,而是修改虚拟环境存储路径
export WORKON_HOME=~/venvs  # 设置到用户目录
mkdir -p ~/venvs
pipenv install

5. 常见错误及快速修复

  • 错误:ModuleNotFoundError: No module named 'pip'
    # 先确保pip正常
    python -m ensurepip --upgrade
    
  • 错误:Failed to create virtual environment
    # 清理缓存重试
    pipenv --rm
    pipenv clean
    pipenv install
    

6. 备选方案代码 如果pipenv实在不行,可以直接用venv:

# 创建虚拟环境
python -m venv venv

# 激活(Linux/Mac)
source venv/bin/activate

# 激活(Windows)
venv\Scripts\activate

# 安装依赖
pip install -r requirements.txt

总结:先检查Python路径和权限,不行就换venv。

pipenv==2018.11.14
pip 18.1 from c:\programdata\anaconda3\lib\site-packages\pip (python 3.7)

八成和终端的编码有关系。

初学别用 windows 调平台就要半天,不装 vs 一堆包要手动装

要么换 virtualenv 试试呢

装一个 docker 或者 bash on ubuntu 吧 之前在 Windows 下搞环境真是要把我玩吐血了…像我这种老鸟都受不鸟,初学者就更别说了…

看一下 locale 设置

回到顶部