我试图在Mac OS X 10.6.2上切换到Homebrew(之前使用fink和macport)。我已经安装了Python 2.7。
brew install python
问题是与Macport相反,似乎没有python_select实用程序,我的默认Mac Python始终是默认值。which python
给我
/usr/bin/python
而且 /usr/bin/python
不是符号链接
我该怎么做让 brew 版本的 python 成为我的默认 python?
您需要编辑PATH环境变量,以确保在搜索/usr/bin之前搜索homebrew python所在的位置。您还可以在shell配置中设置一个名为PYTHON的变量,将其设置为所需版本的python,并从命令行调用$PYTHON
而不是python
。
另外,如另一个帖子所述(尤其是在mac上),请勿更改/usr/bin中的python以指向其他python安装。如果这样做,您只会自找麻烦。
Python
现在指的是Python 3
,如果你需要Python 2
,则需要执行以下命令:brew install python@2
,然后在你的.zshrc或.bashrc文件中添加以下内容:export PATH="/usr/local/opt/python@2/libexec/bin:$PATH"
。
现在,python --version
= Python 2.7.14,python3 --version
= Python 3.6.4。这就是我在终端中看到的行为。
我认为有办法将自制的Python设置为默认值,但是我个人认为,解决问题的正确方法不是修改系统Python路径,而是在virtualenv中创建一个默认使用homebrew Python的虚拟环境(通过使用virtualenv --python选项)。几乎总是不推荐使用像python_select这样的工具。
brew install pyenv
- 在shell启动脚本的末尾添加一个函数,以便pyenv能够发挥其魔力。 echo -e 'if command -v pyenv 1>/dev/null 2>&1; then\n eval "$(pyenv init -)"\nfi' >> ~/.bash_profile
pyenv install 3.7.7
。pyenv global 3.7.7
。pyenv local
。这将在项目文件夹中创建一个指定 Python 版本的文件。Pyenv 将使用该文件中的版本覆盖全局 Python 版本。/usr/local/opt/python/libexec/bin
明确添加到你的 .bash_profile
文件中:export PATH="/usr/local/opt/python/libexec/bin:$PATH"
之后,它应该可以正常工作。
Just do:
brew install python
brew link python
alias python='/usr/local/bin/python2'
享受吧!
link
命令,在/usr/local/bin
中创建的所有链接都是针对python2
而不是python
。使用别名来解决这个问题似乎不是一个好主意,但我还没有找到更好的方法。 - Patrick Mcp /usr/local/bin/python2 /usr/local/bin/python
,看起来效果不错。这是更加丑陋的解决方法吗? - kingb12试一试
which python3
python3
而不是仅输入python
。python
命令时,因此你不能简单地在所有地方将 python
替换为 python3
。 - Anton Chikinecho 'set -g fish_user_paths "/usr/local/opt/python/libexec/bin" $fish_user_paths' >> ~/.config/fish/config.fish
/usr/local/bin
/usr/bin
/bin
/usr/sbin
/sbin
然后为Python版本添加符号链接。在我的情况下
$ cd /usr/local/bin
$ ln -s python3 python
大家好!我需要使用 Python 3.10 版本来利用其新功能。我的解决方案是在2022年7月3日,如下所示。祝愉快编写 Python 代码!
» rm '/usr/local/bin/pip3.10'
» brew link python@3.10
» echo 'export PATH="/usr/local/opt/python@3.10/bin:$PATH"' >> ~/.zshrc
» python3
Python 3.10.5 (main, Jun 23 2022, 17:15:25) [Clang 13.1.6 (clang-1316.0.21.2.5)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
export PATH="/usr/local/opt/python/libexec/bin:$PATH"
。来源:https://discourse.brew.sh/t/what-happened-to-the-standard-python-package/935 - George