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

Rob*_*ert 14 python pip pipenv

我按照这里的说明安装了pipenv .从Windows命令提示符我运行

pip install --user pipenv
Run Code Online (Sandbox Code Playgroud)

它返回了消息

Successfully installed pipenv-5.3.3
Run Code Online (Sandbox Code Playgroud)

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

pipenv install requests
Run Code Online (Sandbox Code Playgroud)

但是这回来了

'pipenv' is not recognized as an internal or external command,
operable program or batch file.
Run Code Online (Sandbox Code Playgroud)

我添加了路径

C:\Users\Robert\AppData\Roaming\Python\Python35\site-packages
Run Code Online (Sandbox Code Playgroud)

到我的Windows路径环境变量,但我仍然收到相同的错误.如何requests使用pipenv 安装软件包?


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

Sri*_*kar 61

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

希望这可以帮助!

  • 效果非常好!谢谢你! (3认同)
  • 这解决了我的问题,谢谢. (2认同)
  • 这解决了这个问题.队友的欢呼声 (2认同)
  • 同样有效,Python 依赖管理器和虚拟环境从根本上破坏了一些东西。我在 Linux、Windows 上遇到了问题,甚至每天使用 Python 的熟练 QA 工程师也无法帮助我。环境损坏、pip 损坏、重新安装 python 等等,作为 2019 年 Python 社区的统治语言,应该解决这些混乱的问题。Javascript 使用 npm,Java 则使用 maven 和 gradle。Python 正在做一些奇怪的探戈。 (2认同)

小智 10

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

  1. pip卸载pipenv

  2. pip 安装 pipenv

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


Tad*_*sen 9

有时使用pip安装软件包不会将终端快捷方式正确放置到位,但仍然安装为python模块.当发生这种情况时,您可以使用python -m pipenv(或者使用从终端运行python的命令)来运行模块而不是使用快捷方式.

作为我pipenv在mac上安装时的参考,在文本编辑器中打开时,terminal命令如下所示:

#!/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())
Run Code Online (Sandbox Code Playgroud)

所以它删除pipenvwhich pipenv从可执行文件名称中删除然后调用/Library/Frameworks/Python.framework/Versions/3.6/bin/pipenvWhere作为.pyw使用时运行的模块.exe如下所示:

from .cli import cli

if __name__ == '__main__':
    cli()
Run Code Online (Sandbox Code Playgroud)

所以它确实做了同样有效的事情.


小智 7

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


小智 -10

请在命令 promt 中运行以下命令来检查您的系统中是否安装了 pipelinev:

pipenv --version
Run Code Online (Sandbox Code Playgroud)

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