【问题标题】:How to make pyenv works properly in windows?如何使 pyenv 在 Windows 中正常工作?
【发布时间】:2021-11-05 14:00:52
【问题描述】:

我已经安装了pyenv-win,现在我尝试使用不同版本的python 进行开发。我已经在windows中安装了python 3.10.0并正确设置了环境变量。

现在我已经安装了python 3.9.6pyenv 并执行了pyenv local 3.9.6,当我执行pyenv which python 时,它输出3.9.6 (set by C:\Users\alipi\OneDrive\Desktop\Codes\ecommerse\.python-version)

当我在 shell 中执行以下代码时:

>>> import sys
>>> sys.executable
>>> 'C:\\Users\\alipi\\AppData\\Local\\Programs\\Python\\Python310\\python.exe'

但是python必须参考python 3.9.6。如何解决?

【问题讨论】:

  • “在外壳中”是什么意思?为了得到这个结果,你究竟是如何运行 python 的?
  • 我只是在终端输入python并输入上面的代码
  • 啊,我明白了。问题是关于如何使pyenv-win 正确设置,以便python 启动pyenv which python 报告的相同版本。你试过阅读documentation吗?
  • 我想使用我用pyenv在本地设置的python 3.9.6,但它运行我在windows中全局安装的python 3.10.0
  • 我在 Linux 中使用过pyenv,我没有遇到任何问题。 windows中唯一的区别是我应该在更改我的python版本后使用pyenv rehash

标签: python pyenv


【解决方案1】:

这样的问题毫无意义,很可能是由不了解 venv 或 pyenv 或 python shell 之间区别的人提出的问题。

简单的答案:离开 python shell。目前没有理由使用 python shell。

您应该使用命令提示符或 PowerShell(老派)。然后无论打开这些工具,使用 cd(更改目录)或 cd..(向后)导航到 C 驱动器。在那里,为您想要使用虚拟环境的位置创建一个新目录。

   mkdir MyVEplayground

接下来使用 cd 导航到该新目录。

C:\MyVEplayground

接下来,创建虚拟环境。为了让事情不那么混乱,只需使用内置于 python 中的常规 venv 函数创建 VE。

python -m someName venv

接下来,需要激活新的虚拟环境。在创建新 VE 时,会创建一个名为 (someName) 的新子目录,然后还添加了更多子目录。

使用 cd(cmd 或 ps)向下移动到名为 someName 的新子目录

cd someName

没有理由去这个文件夹下面。留在这个新文件夹 C:MyVEplayground\someName 中。

然后是 Cmd 提示符或 PS 来激活这个新的 VE。只需键入以下代码。这将向下导航到正确的子文件夹,然后激活此 VE - 同时进行所有操作,而无需前往那里。

.\Scripts\Activate

在使用任何涉及虚拟环境的 python 库之前,建议先熟悉 python 内置的基本 venv 函数 - 例如 pyvenv,您似乎正在尝试使用它。这些 VE 库具有可选的高级虚拟环境功能,在了解内置的 venv 功能之前最好避免使用这些功能。

一旦这个 VE 被激活,它应该非常明显并且几乎不可能错过。

【讨论】:

    【解决方案2】:

    尝试使用 python3 代替 python。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-09-11
      • 1970-01-01
      • 2020-08-23
      • 2020-09-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多