python – MacOSX Yosemite上Homebrew和pyenv的共存

关于Homebrew和pyenv在MacOSX Yosemite上共存的几个新手问题.在将我的google-fu水平应用于主题之后,我仍然感到困惑.抱歉这个长度,但我希望尽可能清楚.

首先,一些背景.我使用brew来安装pyenv,然后使用pyenv来安装python2和python3.

brew install pyenv
brew install pyenv-virtualenv
*I also added the necessary hooks into my profiles.*
pyenv install 2.7.10
pyenv install 3.4.3
pyenv rehash
pyenv global 2.7.10

???问题(或澄清).如果brew正在使用pyenv安装的python,我认为这是不受欢迎的,因为brewed包将构建依赖于brew之外的东西(例如使用pyenv卸载python版本可能会破坏brewed包)?似乎brew使用了PATH中最先出现的python(目前pyenv的版本对我来说)?但是,在下面的每一种情况下,垫片都是“python”而不是“python3”(即使对于pyenv 3.4.3).我是否正确,然后假设设置“pyenv shell 3.4.3”将使brew链接python命令(假设是python2.x)到pyenv的python 3.4.3,我想这往往会搞砸了?

pyenv shell 2.7.10
brew --config
Python: /Users/anonymous/.pyenv/shims/python => /Users/anonymous/.pyenv/versions/2.7.10/bin/python2.7
pyenv shell 3.4.3
brew --config
Python: /Users/anonymous/.pyenv/shims/python => /Users/anonymous/.pyenv/versions/3.4.3/bin/python3.4
pyenv shell system
brew --config
Python: /Users/anonymous/.pyenv/shims/python => /usr/bin/python

???题.如果使用pyenv’s pythons来酿造是一个坏主意,那么我是否还要安装自己的python和python3的版本,或者这会发生冲突并以某种方式引起问题?我的选择似乎是使用我的Mac上安装的系统python,或者使用brew自己的pythons来满足我所有的酿造需求.在第一种情况下,我可以确保在任何酿造之前调用“pyenv shell system”,或者设置一些别名来自动执行此操作,如其他人所建议的那样(别名brew =“env PATH = ${PATH // $(pyenv root) / shims:/} brew“).但是,这意味着我必须使用相当过时的系统python.如果相反我也使用brew来安装python2和python3,这会与使用pyenv以任何方式安装的版本冲突,或者brew的pythons幸福地与pyenv完全分开(我认为这是真的,但是我想在之前仔细检查我试试吧)?这会给我一个设置,我所有的酿造使用brew的python或python3(我假设我仍然需要一个如上所述的别名,以确保在我的PATH中找不到pyenv的版本),而brew之外的其他所有内容都将使用pyenv’sPython?出于任何原因,这是一个坏主意吗?

pyenv global system
*Add to profile:*
alias brew="env PATH=${PATH//$(pyenv root)\/shims:/} brew"
brew install python
brew install python3

???例如,考虑我想使用brew来安装带有python3绑定的boost-python的场景.这需要一个brewed python3版本,并且它随后是否适用于python 3.x的不同pyenv版本?如果我只安装了pyenv的版本,那么–with-python3标志是否可以在这种情况下工作?另一方面,如果我除了pyenv之外还安装了brew的python3,我认为–with-python3将链接brew的python3(带有上面的别名).如果是这样,当从运行pyenv版本的python会话调用时,boost-python甚至可以使用(不确定这是否更适合作为关于boost-python本身的问题),还是这样完全没问题?

brew install boost
brew install boost-python --with-python3

???关于brew的符号链接指向pyenv python的观点?另一篇文章建议对pyenv’s pythons进行符号化,以便brew能够找到它们.除了明显的警告,现在酿造依赖于它本身不能管理的python,这个想法有什么可怕的错误吗?

ln -s $(brew --cellar) ~/.pyenv/versions

解决方法

澄清:Homebrew使用系统Python,只要它没有区别于它使用的Python 2.7(这很常见).如果你构建了一些东西–with-python,它将使用PATH中的第一个Python,如果Python是Python 2.7的话.否则,Homebrew将安装并使用Homebrew python.

我不希望你会发现有必要安装Homebrew的python和python3但是如果你这样做会发生什么不好的事情.请注意,如果使用pip或easy_install来安装安装脚本的软件包(如ipython),则会编写这些脚本,以便始终使用安装它的python调用软件包. (你总是可以通过运行像python -m ipython这样的包来解决这个问题.)否则,你可以通过设置$PATH来控制你正在使用的python.

对任何python 3.4构建boost-python都可以与任何其他python 3.4一起使用.它可能不适用于python 3.5. (这曾经更复杂,但现在不再!)

将你的pyenv pythons符号化到/usr/local应该不会受到伤害,但除了把它们放在$PATH中之外什么都不做;它不会帮助Homebrew找到它们.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


最近做自动化测试时,深感自己对前端涉猎太少,加上对这块比较感兴趣,想花点时间在这个上面——不料在搭建vue环境时就遭遇了第一次翻车。在执行$brewinstallvue时,一直卡顿在了UpdatingHomebrew......命令行上。排除了网络因素后,终于在网上找到了解决方案。首先要
homebrew本身就是一个git仓库。使用homebrew安装软件包时,会自动先下载软件包,然后解压安装,但有时候下载会卡住,或者很慢,这个时候有以下几种方法:1.临时的终止update,先control+c,停掉当前update,安装继续2.更改更好用的git远程仓库替换homebrew默认源cd"$(brew--repo)"gitremote
一、Homebrew安装、卸载等命令Homebrew的安装和卸载都非常简单,只需要在终端输入相应的命令即可成功安装或卸载。1、Homebrew 安装命令/usr/binuby -e "$(curl -fsSL https:/aw.githubusercontent.com/Homebrew/install/master/install)"2、Homebrew卸载命令/us
在mac系统中,使用homebrew可以很方便的管理包。按照官网的说明执行以下命令时总是报错: /usr/binuby-e"$(curl-fsSLhttps:/aw.githubusercontent.com/Homebrew/install/master/install)"应该是这个资源访问有问题,那么我们可以尝试使用国内的镜像。给大家推荐一个中国科学技
我按照说明从这里使用brew安装mysqlhttps://gist.github.comrollr/3f57fc15ded7dddddcc4e82fe137b58ebrew服务列表显示以下输出NameStatusUserPlistmysqlstarted<username>/Users/<username>/Library/LaunchAgents/homebrew.mxcl.mysql.plist但是当我运行
我在macOS10.12.4上安装了nginx1.10.3和php5.5.38作为开发服务器当我在浏览器中尝试测试php文件时,正文为空,但响应标题似乎正常:HTTP/1.1200好的服务器:nginx/1.10.3日期:2017年3月29日星期三,格林威治标准时间11:35:21内容类型:text/html转移编码:分块连接:保持活力X-Powe
我想启用我的php-gmp,我不想使用macports因为我使用自制软件.首先,我brewinstallgmp我得到了gmp5.0.1然后我下载了PHP源码5.3.6,然后我去了source/ext/gmp我做到了phpize然后MACOSX_DEPLOYMENT_TARGET=10.6CFLAGS=’-O3-fno-common-archi386-arch
我今天在做一名酿酒医生时得到了这个通知:Warning:"config"scriptsexistoutsideyoursystemorHomebrewdirectories.`./configure`scriptsoftenlookfor*-configscriptstodetermineifsoftwarepackagesareinstalled,andwhatadditionalflagstousewhenco
一、前言1、写在前面:homebrew是一个包管理器,用于安装写在各种软件。2、开发brew的开发者面试google因为没能手写一道关于二叉树的题目而被刷。 二、brew常用命令1、brewupdate:更新brew。2、brewsearch软件名:根据软件名进行搜索。3、brewinstall软件名:根据软件名进行安
我用brew安装了PHP7,它说:Thephp.inifilecanbefoundin:/usr/local/etc/php/7.0/php.ini但我没有看到任何东西.所以我用php-fpm-i确认了它:ConfigurationFile(php.ini)Path=>/usr/local/etc/php/7.0LoadedConfigurationFile=>(none)Scanthisdirforad
我有一个使用Numpy的Python3.2系统,但我让Homebrew升级到Python3.3,所以我必须再次安装所有软件包.对于使用thisverylargeoutput的pip3installnumpy,这个失败了.你能建议解决吗?或者,如何恢复旧的工作安装?解决方法:我在Python3.3下成功安装了Numpy而没有pip:gitclonehtt
我想跑brewinstallelasticsearch我一直收到这个错误elasticsearch:Java1.7+isrequiredtoinstallthisformula.YoucaninstallwithHomebrewCask:brewinstallCaskroom/cask/javaYoucandownloadfrom:http://www.oracle.comechnetwork/java/javase
尝试在OSXMavericks上升级php时遇到问题.我有一个以前运行的本机版本的PHP,并尝试通过brew升级.当我尝试运行brew命令时,我得到以下内容..首先,我检查文档:brewdoctorYoursystemisreadytobrew.一切似乎都很好,但后来我跑了:brewupdateerror:Yourlocalchangestot
我已经使用brew安装了opencv3,但在执行importcv2时遇到了importError>>>importcv2Traceback(mostrecentcalllast):File"<stdin>",line1,in<module>ImportError:dlopen(/usr/local/lib/python2.7/site-packages/cv2.so,2):Librarynotloa
最近要给客户定制一个php的论坛,我本来是python控,所以机器上就没有php的运行环境,于是开始折腾,本来在centos上配置nginx+php-fpm挺简单的,直接一路yuminstall就可以了,这下到mac上就有点麻烦,虽然macports上有php,但是如果安装php-fpm的话需要hack的方法,为了不麻烦,爬文
刚刚完成了Laravelsite上列出的所有步骤,安装并运行MacOSHighSierra.我目前安装了Composer,Homebrew,valet,PHP7.2.8,MySQL8.0.11和Laravel5.6.28.我可以通过执行Laravel新博客命令来创建一个新项目,而不会有任何问题.此外,当我访问我的浏览器时,我可以看到我刚刚创建或正在处
在国内的网络环境下使用Homebrew安装软件的过程中,可能会长时间卡在UpdatingHomebrew...方法一:按command+c取消本次更新操作,直接安装软件方法二:设置国内镜像1.替换brew.git仓库地址#阿里巴巴的brew.git仓库地址:cd"$(brew--repo)"gitremoteset-urlori
2019独角兽企业重金招聘Python工程师标准>>>一、Homebrew是什么Homebrew是一款MacOS平台下的软件包管理工具,拥有安装、卸载、更新、查看、搜索等很多实用的功能。简单的一条指令,就可以实现包管理,而不用你关心各种依赖和文件路径的情况,十分方便快捷。援引官方的一句话
这个问题在此之前已经被问过(404errorwhenusingbrewtoinstallmysql),但不幸的是这个修复对我不起作用.我已经运行了brew更新,所以我是最新的.我正在使用最新版本的MacOS10.12,如果重要的话,我正在运行Xcode8.brewinstallmysqlWarning:YouareusingOSX10.12
我需要在OSX上安装python3.4.尝试使用brewinstallpython3,现在我有python3.5.1.但我需要py3.4.如何在Mac上安装python3.4?解决方法:我已经用两种方式完成了这种事情–但是两者都没有与自制软件共存,尽管我怀疑应该有类似于macports的方式.第一种是使用Macports作为包管理器