问题标签 [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 - virtualenv和pyenv是什么关系?
我最近学习了如何在我的工作流程中使用 virtualenv 和 virtualenvwrapper,但我在一些指南中看到了 pyenv,但我似乎无法理解 pyenv 是什么以及它与 virtualenv 的不同/相似之处。pyenv 是 virtualenv 的更好/更新的替代品还是免费工具?如果后者有什么不同,两者(如果适用,还有 virtualenvwrapper)如何协同工作?
python-3.x - Pyenv 选择 virtualenv 目录
我刚开始使用 pyenv 来管理我的 python 版本,并开始使用 pyenv virtualenv 插件来管理我的 virtualenvs,到目前为止,我很喜欢它。然而,我想念的一件事是,使用 virtualenv,您实际上可以将虚拟环境放置在存储库目录中,以便您的存储库是一个完全可重现的环境。有谁知道在pyenv中选择你的virtualenv目录的方法?
python - 使用 pyenv-virtualenv 触发不同的应用环境
使用 virtualenvwrapper,我可以设置单独的 virtualenvs 并调用 workon venv让它们链接到特定的设置文件(例如 test_settings.py 或 dev_settings.py),我使用 virtualenv 的 bin 中的钩子进行预设 - 预激活、后激活、预停用和后停用。
pyenv有什么等价的吗?pyenv-virtualenv 会根据当前目录中设置的 .python-version 自动切换 virtualenvs,因此无需激活,并且 .pyenv/versions/venv/bin/ 目录也没有 virtualwrapper 所具有的钩子。
我可以轻松地为我的各种应用程序环境创建不同的 virtualenvs,但是如何将它们链接到不同的特定于环境的应用程序设置?
python - 我怎样才能让自制的 python 和 pyenv 一起生活?
在从 2.7.9 切换到 python 3.4.3 之后(这很简单),我经常希望在与同事分享之前使用 python 2.7.9 测试我的一些脚本。我正在使用 OSX 优胜美地平台,所有内容都是从自制软件编译的。
情况非常难看(设置PATH
es 并PYTHONPATH
在每个步骤中) - 直到我发现pyenv很容易做到这一点并且很容易使用自制软件安装。到现在为止还挺好。
但是,现在我使用的是这个版本的 python,它不一定能很好地与 homebrew 兼容。此外,我发现我可以切换回系统的 python,更一般地说 pyenv 可以访问它:
但是我怎样才能为python
homebrew 编译的 s添加条目?
python - MacOSX Yosemite 上 Homebrew 和 pyenv 的共存
关于 MacOSX Yosemite 上Homebrew和pyenv共存的几个新手问题。这些是我在将我的 google-fu 水平应用于该主题后仍然感到困惑的事情。抱歉冗长,但我想尽可能清楚。
首先,一些背景。我用brew安装pyenv,然后用pyenv安装python2和python3。
???问题(或澄清)。如果 brew 使用由 pyenv 安装的 python,我认为这是不受欢迎的,因为 brewed 包将依赖于 brew 之外的东西构建(例如,使用 pyenv 卸载 python 版本可能会破坏 brewed 包)?似乎 brew 使用 PATH 中最先出现的任何 python (目前对我来说是 pyenv 的版本)?但是,在以下每种情况下,垫片都是用于“python”而不是“python3”(即使是 pyenv 3.4.3)。那么我是否正确假设设置“pyenv shell 3.4.3”将使 brew link python 命令(它假设是用于 python2.x)到 pyenv 的 python 3.4.3,我猜这往往会搞砸?
???问题。如果使用 pyenv 的 python 进行 brew 是一个坏主意,那么我是否还应该安装 python 和 python3 的 brewed 版本,或者这种冲突会以某种方式导致问题?我的选择似乎是使用安装在我的 Mac 上的系统 python,或者使用 brew 自己的 python 来满足我所有的酿造需求。在第一种情况下,我可以确保在任何 brewing 之前调用“pyenv shell system”,或者按照其他人的建议设置一些别名来自动执行此操作(alias brew="env PATH=${PATH//$(pyenv root) /shims:/} 冲泡”)。但是,这意味着我必须使用相当过时的系统 python。相反,如果我也使用 brew 来安装 python2 和 python3,这是否会与使用 pyenv 安装的版本发生冲突,或者 brew 的 python 是否会与 pyenv 完全分开(我认为这是真的,但我想在尝试之前仔细检查)?这会给我一个设置,其中我所有的酿造都使用了 brew 的 python 或 python3(我假设我仍然需要一个像上面这样的别名来确保在我的 PATH 中首先找不到 pyenv 的版本),并且 brew 之外的所有其他内容都将使用 pyenv蟒蛇?出于某种原因,这是一个坏主意吗?
???例如,考虑我想使用 brew 安装带有 python3 绑定的 boost-python 的场景。这是否需要酿造的 python3 版本,它随后是否适用于 python 3.x 的不同 pyenv 版本?如果我只安装了 pyenv 的版本,那么 --with-python3 标志在这种情况下是否有效?另一方面,如果我除了 pyenv 之外还安装了 brew 的 python3,我假设 --with-python3 将链接到 brew 的 python3(具有上述别名)。如果是这样,当从运行 pyenv 版本的 python 会话调用时 boost-python 甚至可以使用(不确定这是否更适合作为关于 boost-python 本身的问题),或者这完全没问题?
???关于 brew 的符号链接指向 pyenv python 的意见?另一篇文章建议对 pyenv 的 python 进行符号链接,以便 brew 可以找到它们。除了 brew 现在依赖于它自己无法管理的 python 的明显警告之外,这个想法有什么可怕的错误吗?
python - 使用带有 SublimeREPL 的 pyenv 本地 python 版本
我的系统默认安装了 Python 2.7.6。我需要使用 v2.7.8,所以我使用 pyenv 安装了它:
并将其设置为我的代码所在文件夹中的本地版本:
在此之后,我使用pip install <package>
.
如果我运行:
我得到了 2.7.8 版本,我可以毫无问题地运行我的代码。但是如果我尝试Sublime 3
使用SublimeREPL包构建我的代码,我会得到默认的 2.7.6 版本,其中没有安装任何包。
如何强制SublimeREPL
使用我安装的 2.7.8 版本的 Pythonpyenv
而不是系统默认的 2.7.6 版本进行构建?
python - 为什么 ~/.pyenv/versions/*/bin 中的脚本不能从命令行调用?
我最近安装了 pyenv,以便在每个项目的基础上在几个相互竞争的 python 解释器之间切换。因此,python setup.py develop
将console_script
入口点放置在~/.pyenv/versions/3.4.3/bin
. 但是,从命令行调用这些脚本之一(例如:) $ my_entry_point_script
会导致错误:找不到命令。
我该如何解决这个问题?这是$PATH
, $PTHONPATH
, 其他问题吗?作为参考,我的 shell (fish)status --is-interactive; and . (pyenv init -lpsub)
在启动时执行。
编辑: 正确的解决方案将保持不同版本的 python 之间的干净分离。
python-3.x - 如何使用 Ansible 安装 python3.4.3
我想通过使用 pyenv 和 ansible 来安装 python3.x。
如何用 ansible 安装 python3.x?
python - Why isn't pyenv finding openssl shared libraries under Alpine Linux?
I'm trying to build a docker image from gliderlabs/alpine:latest
containing only pyenv and it's dependencies. I would like for this container to be able to install and execute an arbitrary interpreter through pyenv.
Initial Attempt
I began with the following Dockerfile:
The Error
Once built, I can start a container and run bash, and the pyenv
command is available, as expected.
However, when I try to run pyenv install 3.4.3
I get the following error:
Attempted Fix
After a bit of googling I found this page, which, for OSX/homebrew, suggests the following fix:
Since I'm not using OSX or Homebrew, I attempted to adapt these commands to an Alpine environment by adding the following lines to the Dockerfile:
Please note that /usr/lib
contains:
libssl.a
libssl.so
libssl.so.1.0.0
and /usr/include
contains openssl
. This having been said, the modification seems to have no impact on my error when installing Python 3.4.3.
The Question
How can I get pyenv to install a python environment under a dockerized Alpine Linux?
Edit:
- The pyenv build log is apparently chocking because the
sockaddr_can
type is undefined. I'm officially lost. Is this amusl
bug ?
python - 在虚拟环境(pyenv)下用python 3.4.3安装OpenCV3.0
我正在努力尝试使用 Python3.4.3 安装 OpenCV 3.0.0,并使用 pyenv 在虚拟环境上安装。我在 Ubuntu 14.04 上。
我使用各种信息源尝试了很多事情: http: //www.pyimagesearch.com/2015/07/20/install-opencv-3-0-and-python-3-4-on-ubuntu/ http:// www.pyimagesearch.com/2015/06/29/install-opencv-3-0-and-python-3-4-on-osx/ 从 Python virtualenv 运行 OpenCV 如何使用 pyenv 安装 ipython qtconsole(Python 3.4 版。 2)
对我来说,困难的部分是从 pyenv 链接到正确的 python。我在 pyenv 中安装了 3.4.3 和共享库(env PYTHON_CONFIGURE_OPTS="--enable-shared" pyenv install 3.4.3)和一个名为“dev”的虚拟环境,安装了 numpy 并正常工作。
我的 cmake 命令如下:
但是 cmake 仍然不想找到 Python 3 Libraires(参见下面的 cmake 输出):
此外,它似乎想使用“/home/group/.pyenv/shims/python2.7”进行构建。我不认为这是问题所在。
调查 cmake 输出我发现以下内容:
似乎 libpython3.4m.so 是 3.4.0 版本 .. 虽然我明确安装了 3.4.3 ......这可能是问题吗?如何获得正确的 PythonLibs?
我对这些事情的经验很少,坦率地说,我在这里迷失了……
编辑:我尝试在我的 pyenv(env PYTHON_CONFIGURE_OPTS="--enable-shared" pyenv install 3.4.0)上使用 python 版本 3.4.0 进行编译,它使用上面的 cmake 命令工作。要么opencv明确想要3.4.0要么我不明白为3.4.3安装的共享库实际上是如何被视为3.4.0的......
编辑:pyenv下的python 2.7.10同样的问题,你应该使用2.7.6 ...