大熊猫不工作

时间:2017-10-09 06:15:33

标签: python macos pip

似乎我已经下载了大熊猫,但我似乎无法在我的程序中使用它

我正在使用版本为10.12.6的mac

非常感谢任何帮助

这是我的控制台命令

➜  Downloads cat code.py
import pandas

➜  Downloads pip3 install pandas
Requirement already satisfied: pandas in /usr/local/lib/python3.6/site-    packages
Requirement already satisfied: numpy>=1.7.0 in     /usr/local/lib/python3.6/site-packages (from pandas)
Requirement already satisfied: python-dateutil>=2 in /usr/local/lib/python3.6/site-packages (from pandas)
Requirement already satisfied: pytz>=2011k in     /usr/local/lib/python3.6/site-packages (from pandas)
Requirement already satisfied: six>=1.5 in /usr/local/lib/python3.6/site-packages (from python-dateutil>=2->pandas)
➜  Downloads python code.py
Traceback (most recent call last):
  File "code.py", line 1, in <module>
    import pandas
ImportError: No module named pandas
➜  Downloads

1 个答案:

答案 0 :(得分:2)

如果您想在自制下的Mac上使用 Python3 ,您需要:

  • 安装自制,转到the homebrew website
  • 使用

    安装 Python3

    brew install python3

  • 使用pip3而不是pip安装任何 Python3 软件包:

    pip3 install PACKAGE # e.g. pip3 install pandas

如果在自制下正确安装 Python3 ,您会看到/usr/local/bin/python3自制中某些内容的符号链接地窖:

ls -l /usr/local/bin/python3

lrwxr-xr-x  1 mark  admin      35  6 Oct 16:13 /usr/local/bin/python3 -> ../Cellar/python3/3.6.3/bin/python3

如果不是这种情况,您或者未安装 Python3 ,或者您之前安装过,而自制则不愿意覆盖它。在这种情况下,如果你真的想用自制 Python3 运行,请运行:

brew link python3 --force

并再次检查它是否是符号链接。

然后,当您运行任何 Python3 脚本时,您需要将完整路径放在shebang中:

#!/usr/local/bin/python3
import something
import something-else

或运行:

/usr/local/bin/python3 some-script.py

或者,如果您的PATH包含/usr/local/bin

python3 some-script.py

您可以通过以下方式检查您的路径:

echo $PATH

并查看它附近是否有/usr/local/bin - 如果您使用自制,这就是您想要的。

如果您已正确设置,则运行:

type python3

它将报告:

python3 is /usr/local/bin/python3

因为自制程序将包二进制文件安装到/usr/local/bin。如果它告诉你/usr/local/bin/python3以外的任何内容,那么你的PATH是不正确的,它需要在你当前的会话中设置两者,例如:

export PATH=/usr/local/bin:$PATH

并在您的登录配置文件中使用类似命令进行后续登录会话 - 如果您使用$HOME/.profile,则类似$HOME/.bash_profilebash

一般情况下,如果您正在运行自制程序,则应立即检查系统运行状况:

brew doctor

并遵循医生的建议 - 他非常好 - 我训练了他; - )