39

我按照此处的说明安装了 pipenv 。我从 Windows 命令提示符运行

pip install --user pipenv

它返回了消息

Successfully installed pipenv-5.3.3

现在我想requests使用 pipenv 安装包,所以我跑了

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 路径环境变量,但我仍然收到相同的错误。如何requests使用 pipenv 安装软件包?


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

4

11 回答 11

134

我有类似的设置并面临类似的问题,但我找到的解决方案相当简单。我所有的 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 系统的解决方案。您不需要修改任何系统环境变量(请不要将站点包添加到您的环境变量中)。

希望这可以帮助!

于 2017-12-06T14:21:54.867 回答
26

python -m pipenv可能对你有用,(python3 -m pipenvpy 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()。所以这个主模块绝对做同样有效的事情。

于 2017-09-04T17:36:54.070 回答
15

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

  1. pip 卸载 pipenv

  2. 点安装 pipenv

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

于 2019-11-03T03:08:29.560 回答
4

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

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

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

于 2017-09-06T17:03:10.450 回答
2

非常感谢@Srivats Shankar。如果你已经尝试过他所说的但没有用,希望你不要忘记检查你的 python 路径?如果您安装了多个 python 版本,那么做pip uninstall virtualenvpip 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`
于 2021-08-20T02:09:20.713 回答
2

使用这个 cmd 解决我的问题:

python -m pipenv install django==2.1
于 2019-04-09T09:47:50.580 回答
1

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

于 2021-07-06T16:03:29.413 回答
0

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

于 2021-08-04T10:37:16.567 回答
0

代替

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

它应该是

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

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

于 2017-12-19T15:55:17.420 回答
-2

我认为,Windows 不受官方支持。

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

于 2017-09-04T17:28:29.300 回答
-9

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

pipenv --version

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

于 2017-09-04T17:28:06.670 回答