如何解决如何从 npm 脚本运行 pyenv 命令?
我想在 package.json 中有一个 npm 脚本,如下所示:
"scripts": {
"activate": "pyenv activate mypythonenvironment"
}
如果我只是跑
pyenv activate mypythonenvironment
在 bash shell 终端中,它完全有效。
但是,如果我在 bash shell npm run activate
中运行我的脚本,我会收到错误:
Failed to activate virtualenv.
Perhaps pyenv-virtualenv has not been loaded into your shell properly.
Please restart current shell and try again.
任何帮助将不胜感激!提前致谢。
编辑: 我这样做是为了开发目的,以便我可以从前端节点目录运行后端,以便快速启动项目。
问题似乎是 npm 脚本运行的 bash shell 没有配备我的 .bashrc 中的所有可用库。
解决方法
就像错误消息所说的那样,当您自己使用 shell 时,您未能执行 shell 登录脚本通常会执行的初始化。激活可能看起来像 eval "$(pyenv init -)"; eval "$(pyenv virtualenv-init -)"
;您也可以在 scripts
节中运行它:
"scripts": {
"activate": "eval \"$(pyenv init -)\"; eval \"$(pyenv virtualenv-init -)\"; pyenv activate mypythonenvironment"
}
但是您真的确定首先要求 pyenv
是解决此问题的好方法吗?常规虚拟环境可能会正常工作,并且对您的用户由于其他原因可能已经使用的任何内容的干扰较少。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。