【发布时间】:2020-05-03 12:50:47
【问题描述】:
尝试在 Mac 上运行 pipenv 和 mkdocs 时出现错误:
bash: /usr/local/bin/pipenv: /usr/local/opt/python@2/bin/python2.7: 错误的解释器:没有这样的文件或目录
$ pipenv
bash: /usr/local/bin/pipenv: /usr/local/opt/python@2/bin/python2.7: bad interpreter: No such file or directory
$ mkdocs
bash: /usr/local/bin/mkdocs: /usr/local/opt/python@2/bin/python2.7: bad interpreter: No such file or directory
$
一些额外的信息,如果它有用的话,命令python链接到我认为是Mac上提供的默认python安装:
$ which python
/usr/local/bin/python
$ ls -l $(which python)
lrwxr-xr-x 1 jamiet admin 15 Nov 12 12:58 /usr/local/bin/python -> /usr/bin/python
$ which python3
/usr/local/bin/python3
$ ls -l $(which python3)
lrwxr-xr-x 1 jamiet admin 34 May 2 2019 /usr/local/bin/python3 -> ../Cellar/python/3.7.3/bin/python3
$ python --version
Python 2.7.10
这可能有用也可能没用。
我发现了一个有用的线程,其中有人遇到了类似的问题:pip installation /usr/local/opt/python/bin/python2.7: bad interpreter: No such file or directory,我已经遵循了那里的一些建议:
brew 链接 --overwrite python
我曾使用 home-brew 在 OS X 10.10 上安装 2.7,但新安装缺少符号链接。我跑了
酿造链接--覆盖python
如如何在 Homebrew 中对 python 进行符号链接中所述?它解决了这个问题。
我相信python2最初是使用自制软件安装在这台机器上的,所以我尝试了,但没有运气:
$ brew link --overwrite python
Warning: Already linked: /usr/local/Cellar/python/3.7.3
To relink: brew unlink python && brew link python
我还没有(还)尝试过那里的建议 (brew unlink python && brew link python),因为我想尝试其他一些事情并先从这里获得一些建议
符号链接到正确的位置
试图在pipenv/mkdocs 期待它的位置创建指向我已知的python2解释器的符号链接,但它没有工作:
$ /usr/local/bin/python --version
Python 2.7.10
$ ln -s /usr/local/bin/python /usr/local/opt/python@2/bin/python2.7
ln: failed to create symbolic link '/usr/local/opt/python@2/bin/python2.7': No such file or directory
请注意,如果我尝试稍微不同的命令(即只是不同的路径),那么命令会成功且不会出错:
$ ln -s /usr/local/bin/python /usr/local/opt/python/bin/python2.7
$ ls -l /usr/local/opt/python/bin/python2.7
lrwxr-xr-x 1 jamiet admin 21 Jan 16 16:06 /usr/local/opt/python/bin/python2.7 -> /usr/local/bin/python
但这对我没有帮助,因为pipenv/mkdocs 期望解释器位于 /usr/local/opt/python@2/bin/python2.7 所以我删除了符号链接
$ rm /usr/local/opt/python/bin/python2.7
任何人都可以提出前进的道路吗?
【问题讨论】: