我在终端看到了这个:
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不是,我无法弄清楚原因。
答案 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
并遵循任何进一步的指示。