从2.7.9(非常简单)切换到python 3.4.3之后,我经常希望在与同事共享之前使用python 2.7.9测试我的一些脚本.我正在使用OSX优胜美地平台,其中包含从自制软件编译的所有内容.
情况非常难看(设置PATHes和PYTHONPATH每一步) - 直到我发现pyenv很容易做到这一点并且很容易使用自制软件安装.到现在为止还挺好.
但是,现在我正在使用这个版本的python,它不一定能与自制软件一起使用.而且,我发现我可以切换回系统的python,更普遍的是pyenv可以访问:
$ pyenv versions
system
2.7.9
* 3.4.3 (set by /usr/local/var/pyenv/version)
Run Code Online (Sandbox Code Playgroud)
但是我怎样才能为python自制软件编译的s 添加条目?
brew 中的一些包需要 python@3.8 作为依赖项。例如:
$ brew deps vim
gdbm
gettext
libyaml
lua
openssl@1.1
perl
python@3.8
readline
ruby
sqlite
xz
Run Code Online (Sandbox Code Playgroud)
但是,我想用 pyenv 管理我所有的 python 安装,我不想用 brew 下载 python@3.8。这意味着必须在 2 个不同的位置安装完全相同的 python 版本,我想避免这种情况。阅读 brew、pyenv 和 python 我开始明白在系统的不同部分安装 python 可能会在未来引起一些麻烦,我也想避免这种情况。不幸的是,我似乎无法通过 pyenv 解决 brew 包中的 python 依赖项。下面按照我试图克服这个问题的步骤进行操作。
我已经用 brew 安装了 pyenv,并从那里安装了必要的 python 版本。
$ pyenv versions
system
* 3.8.2 (set by PYENV_VERSION environment variable)
Run Code Online (Sandbox Code Playgroud)
我已尝试根据此Github 讨论通过设置 brew 别名来解决此问题,例如:
alias brew='env PATH=${PATH//$(pyenv root)\/shims:/} brew'
Run Code Online (Sandbox Code Playgroud)
由于未解决的依赖问题,我试图建立一个链接python@3.8在/usr/local/Cellar其中将指向pyenv蟒蛇,在某种程度上类似于这个问题有: …