问题标签 [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.
python - ZSH - 登录或新窗口时 pyenv 'command not found' - 在加载时工作。
我正在使用 ZSH/oh-my-zsh 和常规的 OSX 终端,尽管 iTerm 中也会出现同样的问题。我一直在使用rbenv
并且nvm
没有问题,但最近开始使用 python 和pyenv
,并且遇到了以下问题。在加载新的终端窗口时,我在提示符处收到以下消息:
自安装以来pyenv
,我的机器似乎明显变慢了。显然加载pyenv
会减慢速度,但加载时间已经下降了。
问题是pyenv
在终端加载后完美运行,据我所知,我.zshrc
的配置正确:
如果有人可以提供任何建议/解决方案,将不胜感激。环境变量和 shell 配置文件似乎比它们应有的更加易怒/令人困惑。
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 查找和使用所有这些环境!
python - 不同项目的虚拟环境和python版本
让我首先概述我想要的解决方案,然后详细说明如何实现这种状态的具体问题。
我很快将在 python 中启动两个编码项目。我以前用过python,但从来没有用过这么大的项目。我理想的情况是有一个设置,我可以为各种项目运行虚拟环境和不同的 python 版本。一些研究将我指向 virtualenv / virtualenvwrapper 和pyenv。似乎使用pyenv-virtualenv或pyenv-virtualenvwrapper有一种很好的方法可以为特定项目指定虚拟环境和 python 版本。
问题:一旦我为特定项目设置了虚拟环境和 python 版本,我在后期切换到更新的 python 版本有多容易?假设我已经使用 python 3.4 启动了项目 A,并且在未来一年内我想将所有内容移至 python 3.6。这可能以一种简洁的方式吗?
emacs - Elpy 允许 pyenv 在项目基础上工作
到目前为止,我的所有编码项目都使用 Emacs。很快我将第一次开始一些 python 项目,并且也很想坚持使用 Emacs。
我正在研究 elpy,它似乎已经提供了很多所需的功能。我无法完全弄清楚的部分如下。我喜欢定义要在项目基础上使用的虚拟环境和 python 版本。假设我启动了一个项目 A,然后我会使用pyenv-virtualenv或pyenv-virtualenvwrapper来设置它
通过这样做,我将 python 版本 3.4.2 链接到该特定的 virtualenv / 项目。结合elpy,我有两个问题。
问:这是一个相当基本的问题。以上都可以通过终端来实现。emacs 支持这一点有什么优势?我的工作流程是:创建具有关联 virtualenv 和 python 版本的项目。激活 virtualenv 并开始在 emacs 中编码。如果我需要安装一个包,我将在终端中运行 pip 以确保正确捕获 virtualenv。在 emacs 中支持这一点肯定是有好处的。由于我缺乏知识,我只是看不到它:)
正如所指出的,我们希望 emacs / elpy 支持这一点肯定有充分的理由。我的第二个问题是
**问题:如何在 emacs 中实现这一点?像这个博客这样的Lokks有一个解决方案。我想知道是否有人已经尝试过这个设置,如果它是一个在概念上有意义的简洁解决方案。**
pyenv - 为什么 - pyenv: no such command 'shell' 错误
这似乎很基本,所以为什么会no such command
出现错误:
https://github.com/pyenv/pyenv/blob/master/COMMANDS.md#pyenv-shell
python - pyenv local - 尽管已安装 Python 版本,但无法按其编号设置 Python 版本
关于如何为 pyenv 设置 Python 版本的任何建议?
例如
python - 如何在应用程序的源代码控制中管理 python 版本?
我们有一个使用 pyenv/virtualenv 来管理 python 依赖项的应用程序。我们希望确保在应用程序上工作的每个人都拥有相同的 python 版本。来自 ruby 的类似物是 Gemfile。在某种程度上,.ruby 版本。
python中的等价物是什么?它是 .python 版本吗?我已经看到很多 .gitignore 包含它,并且通常在注释“.pyenv”下。这是什么原因?还有什么选择?
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的原始基础上附加路径?
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
?这是什么意思?没有它会怎样?
谢谢。
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 来创建虚拟环境。
有没有办法处理这种情况?