今天我想在我的OSX笔记本电脑上运行一个(自写的)Python脚本,但是突然之间,所有的导入都返回了一个ImportError
。一个月前我还没改过Python的脚本。此外,我确信我当时没有使用虚拟机。在
所以我又开始重新安装所有的软件包(甚至pip
也需要重新安装)。我还需要OpenCV,为此我运行brew install opencv3
,但这给了我:
Warning: homebrew/science/opencv3 3.2.0 is already installed
尽管我仍然无法在Python中导入它:
^{pr2}$当然,我可以卸载并重新安装OpenCV,但这确实让我想知道,这是怎么回事?什么可能会删除所有Python包?在
欢迎所有提示!在
编辑
好吧,我刚刚发现在我使用brew安装的Python之前,python
命令不知怎么地链接回了/usr/bin/python
,而不是{python
链接回我运行的brew版本brew unlink python && brew link python
,但是which python
仍然引用/usr/bin/python
哪个聪明的灵魂可以引导我重新使用brew Python?在
编辑2
我刚刚签出了this list of suggestions,再次将python
链接到brew版本,但似乎没有任何效果。让我给你看看我做了什么:
$ echo $PATH
/usr/local/opt/opencv3/bin:/opt/local/bin:/opt/local/sbin:/usr/local/heroku/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/X11/bin:/usr/local/bin:/Users/hielke/Library/Android/sdk:/Users/hielke/Library/Android/sdk/tools:/Users/hielke/Library/Android/sdk/platform-tools:/usr/local/mysql/bin:/Users/hielke/.composer/vendor/bin
# which shows `/usr/local/bin` before `/usr/bin`
$ brew link --overwrite python
Warning: Already linked: /usr/local/Cellar/python/2.7.13_1
To relink: brew unlink python && brew link python
$ which python
/usr/bin/python # <= STILL RUNNING THE SYSTEM PYTHON
$ brew unlink python && brew link python
Unlinking /usr/local/Cellar/python/2.7.13_1... 26 symlinks removed
Linking /usr/local/Cellar/python/2.7.13_1... 26 symlinks created
$ which python
/usr/bin/python # <= STILL RUNNING THE SYSTEM PYTHON
$ cat /etc/paths
/usr/local/bin
/usr/bin # THIS SEEMS TO BE CORRECT
/bin
/usr/sbin
/sbin
然后我重新启动了终端,但是which python
仍然给了我/usr/bin/python
。在
所以我重新启动了整个操作系统,但是令人沮丧的是which python
仍然给了我/usr/bin/python
。在
谁能帮我摆脱这场混乱的啤酒?!在
好吧,经过一番折腾,我发现文件夹}。在
/usr/local/Cellar/python/2.7.13_1/bin/
没有包含一个名为python
的符号链接,只有python2
和{最后,我在
/usr/local/Cellar/python/2.7.13_1/bin/
中创建了一个新的符号链接,如下所示:之后我就跑了
^{pr2}$解决了我所有的问题。在
感谢您的关注和不断的灵感!在
虽然这是解决我的问题的办法,但我仍然不确定这是怎么发生的。如果有人能启发我,那当然还是很受欢迎的!在
相关问题 更多 >
编程相关推荐