问题标签 [pyenv]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
3221 浏览

python - ZSH - 登录或新窗口时 pyenv 'command not found' - 在加载时工作。

我正在使用 ZSH/oh-my-zsh 和常规的 OSX 终端,尽管 iTerm 中也会出现同样的问题。我一直在使用rbenv并且nvm没有问题,但最近开始使用 python 和pyenv,并且遇到了以下问题。在加载新的终端窗口时,我在提示符处收到以下消息:

自安装以来pyenv,我的机器似乎明显变慢了。显然加载pyenv会减慢速度,但加载时间已经下降了。

问题是pyenv在终端加载后完美运行,据我所知,我.zshrc的配置正确:

如果有人可以提供任何建议/解决方案,将不胜感激。环境变量和 shell 配置文件似乎比它们应有的更加易怒/令人困惑。

0 投票
2 回答
1009 浏览

python - pyenv 安装了多个 python,但只能识别一些

我正在尝试启动并运行 pyenv(Mac OS X),因此我可以使用 tox/detox 来测试代码与多个 python 环境。我能够安装多个 python3 版本,然后我pyenv global在所有版本上都使用了。之后,pyenv versions返回此列表:

但是,只有 3.4 和 3.5 被识别(以及 2.7.8,我认为它是“系统”):

任何想法是什么导致了这种行为?tox/detox 同样找不到除了 3.4/3.5 之外的任何 Python 版本。

编辑:似乎 pyenv 已经安装了所有环境,但是python3.x命令没有找到它们。python3.4并且python3.5正在工作,因为他们找到了以前的顶级安装。pyenv which python3.x.y对比结果python3.x [--version]如下所示。

但是,按照以下答案中的建议安装 tox-pyenv 允许 tox 查找和使用所有这些环境!

0 投票
1 回答
68 浏览

python - 不同项目的虚拟环境和python版本

让我首先概述我想要的解决方案,然后详细说明如何实现这种状态的具体问题。

我很快将在 python 中启动两个编码项目。我以前用过python,但从来没有用过这么大的项目。我理想的情况是有一个设置,我可以为各种项目运行虚拟环境和不同的 python 版本。一些研究将我指向 virtualenv / virtualenvwrapper 和pyenv。似乎使用pyenv-virtualenvpyenv-virtualenvwrapper有一种很好的方法可以为特定项目指定虚拟环境和 python 版本。

问题:一旦我为特定项目设置了虚拟环境和 python 版本,我在后期切换到更新的 python 版本有多容易?假设我已经使用 python 3.4 启动了项目 A,并且在未来一年内我想将所有内容移至 python 3.6。这可能以一种简洁的方式吗?

0 投票
1 回答
665 浏览

emacs - Elpy 允许 pyenv 在项目基础上工作

到目前为止,我的所有编码项目都使用 Emacs。很快我将第一次开始一些 python 项目,并且也很想坚持使用 Emacs。

我正在研究 elpy,它似乎已经提供了很多所需的功能。我无法完全弄清楚的部分如下。我喜欢定义要在项目基础上使用的虚拟环境和 python 版本。假设我启动了一个项目 A,然后我会使用pyenv-virtualenvpyenv-virtualenvwrapper来设置它

通过这样做,我将 python 版本 3.4.2 链接到该特定的 virtualenv / 项目。结合elpy,我有两个问题。

问:这是一个相当基本的问题。以上都可以通过终端来实现。emacs 支持这一点有什么优势?我的工作流程是:创建具有关联 virtualenv 和 python 版本的项目。激活 virtualenv 并开始在 emacs 中编码。如果我需要安装一个包,我将在终端中运行 pip 以确保正确捕获 virtualenv。在 emacs 中支持这一点肯定是有好处的。由于我缺乏知识,我只是看不到它:)

正如所指出的,我们希望 emacs / elpy 支持这一点肯定有充分的理由。我的第二个问题是

**问题:如何在 emacs 中实现这一点?像这个博客这样的Lokks有一个解决方案。我想知道是否有人已经尝试过这个设置,如果它是一个在概念上有意义的简洁解决方案。**

0 投票
1 回答
769 浏览

pyenv - 为什么 - pyenv: no such command 'shell' 错误

这似乎很基本,所以为什么会no such command出现错误:

https://github.com/pyenv/pyenv/blob/master/COMMANDS.md#pyenv-shell

0 投票
3 回答
12186 浏览

python - pyenv local - 尽管已安装 Python 版本,但无法按其编号设置 Python 版本

关于如何为 pyenv 设置 Python 版本的任何建议?

例如

0 投票
1 回答
239 浏览

python - 如何在应用程序的源代码控制中管理 python 版本?

我们有一个使用 pyenv/virtualenv 来管理 python 依赖项的应用程序。我们希望确保在应用程序上工作的每个人都拥有相同的 python 版本。来自 ruby​​ 的类似物是 Gemfile。在某种程度上,.ruby 版本。

python中的等价物是什么?它是 .python 版本吗?我已经看到很多 .gitignore 包含它,并且通常在注释“.pyenv”下。这是什么原因?还有什么选择?

0 投票
1 回答
834 浏览

linux - linux 将路径附加到 secure_path 以使用 sudo 运行 pyenv

我已经安装了pyenv,但是当我运行时sudo pip install xx

我知道将/app/pyenv/shims:/app/pyenv/bin(my PYENV_ROOT='/app/pyenv') 附加到secure_path并使用

/etc/sudoers.d/pyenv,但失败了

的输出echo 'echo $PATH' | sudo /bin/bash

表明secure_path 只是被覆盖。

那么如何以最好的方式在secure_path的原始基础上附加路径?

0 投票
1 回答
808 浏览

bash - “哪个 pyenv > /dev/null”是什么意思?

每个人都if which pyenv > /dev/null; then eval "$(pyenv init -)"; fi在安装 pyenv 后写入 .bashrc 等。

我知道如果我不执行eval "$(pyenv init -)",python 的版本就不会改变。

为什么我需要写作if which pyenv > /dev/null?这是什么意思?没有它会怎样?

谢谢。

0 投票
0 回答
213 浏览

python - 我可以使用 pyenv 和 tox 拥有多个次要版本的 python 吗

我用 Pyenv 安装了 python 2.6.9、2.7.10、2.7.11、2.7.12,但是当我检查 ~/.pyenv/shims/ 时,它只有一个指向 2.7.10 的 python2.7。我的系统安装了 python 2.7.13。

当我使用tox使用py2710、py2711、py2712时,它使用系统的python 2.7.13来创建virtualenv。

我的路径在我的系统 python 所在的 /usr/local/bin 之前有 ~/.pyenv/shims/ 。

如果我在 tox.ini 中使用 py26,它会使用 pyenv 中的 python 2.6.9 来创建虚拟环境。

有没有办法处理这种情况?