【问题标题】:Pipenv shell doesn't reconize Python commandPipenv shell 无法重新编译 Python 命令
【发布时间】:2020-04-13 10:45:50
【问题描述】:

我开始使用 Python,并且已经安装了 Python(我正在使用 miniconda)和 Pipenv。我知道两者都已正确安装,因为如果我运行python versionpipenv version 之类的东西,我会得到正确的输出,但是在我访问pipenv shell 并尝试运行python 来访问python 解释器之后,它仍然是空白的。我什至没有收到错误消息。就好像它崩溃了一样。只是为了添加更多信息,如果我之前在终端中运行python,我看到我需要使用winpty python 命令,但我创建了一个别名将其重命名为python,并且尽管它在 pipenv 外壳之外工作,但它不在这个外壳中运行。

【问题讨论】:

  • 出于什么原因要将 conda 环境与 pipenv 环境结合起来?这是自找麻烦!
  • @Peter 为什么?详细说明。
  • 您的任务实际上是解释您为什么要这样做,您想用它实现什么以及您已经尝试解决您的问题。
  • @Peter 我没有做任何具体的事情。我正在使用 codecademy 学习 Python,我最初按照他们的建议使用 miniconda 安装了 python。然后今天我了解了 pipenv 并安装了它,但当我尝试在其中运行 Python 解释器时遇到了麻烦。我也使用winpty 命令解决了它,但我想这是因为它无法在 pipenv 终端之外访问它的别名。

标签: python pipenv


【解决方案1】:

Conda 和 pipenv 是领先的 Python 包管理器,可让您创建虚拟环境并将第 3 方包安装到其中。虚拟环境是具有定义的包版本的 Python 安装,它们应该协同工作以支持您的编程需求。你的 Python 代码加上你的环境定义将允许其他人在他们的机器上运行你的程序,即使他们有不同的操作系统。

Conda environments: 如何创建conda环境

> conda create --name myenv pandas matplotlib
> conda activate myenv
(myenv) > conda list --explicit > myenv.txt
(myenv) > python

通过以下方式重新创建此环境:

conda env create --file myenv.txt 

Pipenv environemnts: 如何创建 pipvenv 环境

> pipenv install pandas matplotlib
> pipenv shell
(.venv) > python

pipenv install 会在您的项目文件夹中自动创建“Pipfile”,用于通过以下方式重新创建此环境:

> pipenv install

通过您的项目,您可以只激活一个环境,不能同时激活两个。你可以基于 Anaconda Pipenv with Conda? 安装 pipenv,但这一点优势都没有。

然而,Anaconda 的一大优势在于,它们可以保证“科学堆栈”(numpy、pandas、scipy、matplotlib)的最大一致性,但您可能会发现 anaconda.org 上并非所有 pypi 包都可用,这样您就必须将pip install (NOT pipenv install) 打包到 conda 环境中,这是可以接受的,只要它不是基础环境即可。

【讨论】:

  • 好的,知道了。我知道 pipenv 是一个 python 环境,但我不知道 conda 和 pipenv 本质上只是做同样事情的不同方式。那么,这是否意味着我不能(或者至少“不推荐”)同时拥有两个不同的 Python 环境? (意思是 conda 和 pipenv),以防我想将它们用于不同的事情。还是这只是找麻烦?感谢您的澄清。
  • 你不能用 pipenv 和 conda 做不同的事情——你只能用不同的方式做同样的事情。这只是口味问题。但是,what should you do when someone answers your question?
猜你喜欢
  • 1970-01-01
  • 2023-01-26
  • 2022-07-29
  • 2021-04-27
  • 1970-01-01
  • 2014-01-18
  • 2014-04-26
  • 1970-01-01
  • 2019-07-21
相关资源
最近更新 更多