Windows 在尝试使用 pipenv 安装包时报告错误

问题描述 投票:0回答:14

我按照 here 的说明安装了 pipenv。我在 Windows 命令提示符下运行

pip install --user pipenv

回了消息

Successfully installed pipenv-5.3.3

现在我想使用pipenv安装

requests
包,所以我跑了

pipenv install requests

但这又回来了

'pipenv' is not recognized as an internal or external command,
operable program or batch file.

我添加了路径

C:\Users\Robert\AppData\Roaming\Python\Python35\site-packages

到我的 Windows 路径环境变量,但我仍然收到相同的错误。 如何使用 pipenv 安装

requests
包?


编辑:由于我的系统上有 Python 3.5 和 Python 3.6 的残余,我将卸载所有内容并重新开始。 (我刚刚开始学习 Python,我希望尽可能简单。)

python pip pipenv
14个回答
144
投票

我有类似的设置并面临类似的问题,但我找到的解决方案相当简单。我所有的 PATH 变量都已经正确了(从 Python 3 开始,Windows Installer 会自动完成所有这些)。

问题

问题实际上是由于冲突安装virtualenv

修复

要解决此问题,您只需运行以下命令:

  1. 首先,删除您当前版本的 virtualenv:

    pip uninstall virtualenv

  2. 然后,删除当前版本的 pipenv:

    pip uninstall pipenv

  3. 当您被问到

    Proceed (y/n)?
    时,只需输入
    y
    。这会给你一个干净的石板。

  4. 最后,您可以再次安装 pipenv 及其依赖项:

    pip install pipenv

这还将安装最新版本的virtualenv

测试是否有效

只需在命令提示符中输入

pipenv --version
,您应该会看到所需的输出。

注意事项

我知道这听起来很平凡,但它实际上是 Windows 系统的解决方案。您不需要修改任何系统环境变量(请不要将站点包添加到您的环境变量)。


28
投票

python -m pipenv
可能对您有用,(或
python3 -m pipenv
py 3 -m pipenv
)这是告诉 python 运行模块
pipenv
而不是有时安装不正确的终端快捷方式。

只是为了表明当我安装

pipenv
并运行
which pipenv
时它们是等价的它指向一个像
/Library/Frameworks/Python.framework/Versions/3.6/bin/pipenv
这样的文件,它看起来像这样:

#!/Library/Frameworks/Python.framework/Versions/3.6/bin/python3.6

# -*- coding: utf-8 -*-
import re
import sys

from pipenv import cli

if __name__ == '__main__':
    sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0])
    sys.exit(cli())

因此它从可执行文件名称中删除

.pyw
.exe
然后调用
pipenv.cli.cli()
。很可能你的机器上有这样的文件它只是没有将python的
/bin
文件夹添加到你的系统
PATH
所以它不可访问,如果发生这种情况但没有人安装python时通常会有警告检查那些。 :P

使用

pipenv.__main__
时运行的模块
python -m pipenv
如下所示:

from .cli import cli

if __name__ == '__main__':
    cli()

这叫

pipenv.cli.cli()
。所以这个主模块绝对做同样有效的事情。


22
投票

为了解决这个问题,我需要以管理员身份启动我的 CMD。

  1. pip 卸载 pipenv

  2. pip 安装 pipenv

要测试这个新配置,你可以写 pipenv --version


5
投票

使用 python -m pipenv 而不仅仅是 pipenv,它应该可以工作。祝你好运。


4
投票

尝试将以下内容添加到 Path 环境变量中:

C:\Users\Robert\AppData\Roaming\Python\Python36\Scripts

而不是

\site-package
,因为这是安装pipenv.exe的地方(至少对我而言)。


2
投票

使用这个命令解决我的问题:

python -m pipenv install django==2.1

2
投票

非常感谢@Srivats Shankar。如果您尝试了他所说的但没有用,希望您不要忘记检查您的 python 路径?如果您安装了多个 python 版本,执行

pip uninstall virtualenv
pip uninstall pipenv
可能无助于解决问题。

每个

python version
通常都应该安装自己的
pip
。在这种情况下你会做的是:

`-python -version_to_uninstall_virtualenv_from -m pip uninstall virtualenv; py --version -m pip uninstall virtualenv
-python -version_to_uninstall_pipenv_from -m pip uninstall pipenv; py --version -m pip uninstall pipenv`

然后使用类似的命令安装

pipenv

 `-python -version_to_install_pipenv_on -m pip install pipenv; py --version -m pip uninstall pipenv`

1
投票

我有一个像你 sed 一样的错误,我刚刚重新安装了 pipenv 并修复了它。 我使用了这个命令:

pip install pipenv

0
投票

代替

C:\Users\Robert\AppData\Roaming\Python\Python35\site-packages

应该是

C:\Users\Robert\AppData\Roaming\Python\Python36\Scripts

之后,尝试关闭重新打开终端


0
投票

安装 pipenv 后检查警告。有时 pipenv 位置未在环境变量中注册。


0
投票

我注意到安装了多个 python 版本的几种不同情况。

首选解决方案是使用:

python -m pip install pipenv

此命令用于 Python3.7 实例生成可执行文件

C:\Users\XXX\AppData\Local\Programs\Python\Python37\Scripts
它使设置其他包更容易。


0
投票

你应该使用

python -m pip install pipenv

然后

python -m pipenv install django

-2
投票

Windows 没有正式支持,我想。

参考:https://github.com/kennethreitz/pipenv/issues/70


-10
投票

请通过在命令提示符中运行以下命令来检查您的系统中是否安装了 pipenv:

pipenv --version

如果返回错误,请重新安装并在您的系统中设置环境变量路径

© www.soinside.com 2019 - 2024. All rights reserved.