pyenv python2版本无法正常工作

时间:2018-05-08 02:55:41

标签: python pyenv

我在终端看到了这个:

gyp ERR! stack pyenv: python2: command not found
gyp ERR! stack 
gyp ERR! stack The `python2' command exists in these Python versions:
gyp ERR! stack   2.7.5
gyp ERR! stack   2.7.8

我非常困惑这意味着什么。如何配置pyenv以使其有效?

我希望这样做:

python => version 2.7
python2 => version 2.7
python3 => version 3.6.4

python3配置正常,但python / python2不是,我无法弄清楚原因。

4 个答案:

答案 0 :(得分:3)

此错误表示您尝试调用python2,但找不到python2命令。它还有助于告诉您该命令存在于2.7.5和2.7.8环境中,这些环境当前不活动。

您需要首先激活环境才能使用它们,例如:

pyenv shell 2.7.8 3.6.4

我相信因为2.7.8首先被列出,所以它将被" python"命令。

答案 1 :(得分:1)

您可以在本地(到当前文件夹)将python命令的默认版本设置为所需的任何版本。

您可以运行:

pyenv local 2.7.8

这将在当前文件夹中创建一个名为.python-version的隐藏文件。这样,pyenv将使用此文件来配置与python命令关联的版本。简而言之,从该文件夹及其下的任何其他文件夹中,python将执行python 2.7.8。

答案 2 :(得分:1)

在macOS Mojave 10.14.3上,我遇到了类似的错误,该错误已通过运行

解决。
  

$ pyenv shell 3.7.1 2.7.15

我在尝试在已安装并默认使用yarn的系统上运行$ npx create-react-app my_app --use-npm时遇到此问题。请注意,没有--use-npm时,使用yarn是程序包管理器,并且没有错误。

这是--use-npm引发的错误,已由$ pyenv shell 3.7.1 2.7.15解决

> fsevents@1.2.4 install /Users/richardlogwood/dev/react/my_app/node_modules/fsevents
> node install

gyp ERR! configure error
gyp ERR! stack Error: Command failed: /Users/richardlogwood/.pyenv/shims/python2 -c import sys; print "%s.%s.%s" % sys.version_info[:3];
gyp ERR! stack pyenv: python2: command not found
gyp ERR! stack
gyp ERR! stack The `python2' command exists in these Python versions:
gyp ERR! stack   2.7.15
gyp ERR! stack
gyp ERR! stack
gyp ERR! stack     at ChildProcess.exithandler (child_process.js:294:12)
gyp ERR! stack     at ChildProcess.emit (events.js:188:13)
gyp ERR! stack     at maybeClose (internal/child_process.js:978:16)
gyp ERR! stack     at Socket.stream.socket.on (internal/child_process.js:395:11)
gyp ERR! stack     at Socket.emit (events.js:188:13)
gyp ERR! stack     at Pipe._handle.close (net.js:610:12)
gyp ERR! System Darwin 18.2.0
. . .

有关解决方案的更多详细信息:

$ pyenv versions
  system
  2.7.15
* 3.7.1 (set by /Users/richardlogwood/.pyenv/version)

$ pyenv shell 3.7.1 2.7.15

$ pyenv versions
  system
* 2.7.15 (set by PYENV_VERSION environment variable)
* 3.7.1 (set by PYENV_VERSION environment variable)

$ pyenv shell
3.7.1:2.7.15

# now create-react-app succeeds!
npx create-react-app my_app --use-npm

此问题由GitHub问题https://github.com/electron-userland/electron-builder/issues/638引至我的解决方案

答案 3 :(得分:-1)

我摆脱了pyenv,因为它显然难以使用

为了得到我想要的东西,我做了:

brew install python2
brew install python3

并遵循任何进一步的指示。