python-无法使用 Homebrew 安装的模块?

python-Can't use modules installed by Homebrew?

我想在我的 python virtualenv 中使用 essentia 模块,python 的版本是 2.7.6。 我执行后

 brew tap MTG/essentia

我在 Pycharm 中找不到这个模块。

我还尝试使用

安装其他包,例如matplotlib
sudo pip install matplotlib

在我的 virtualenv 路径下。

The directory '/Users/username/Library/Caches/pip/http' or its parent directory is not owned by the current user and the cache has been disabled. Please check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag.
The directory '/Users/username/Library/Caches/pip' or its parent directory is not owned by the current user and caching wheels has been disabled. check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag.
Requirement already satisfied (use --upgrade to upgrade): matplotlib in /System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python
Requirement already satisfied (use --upgrade to upgrade): numpy>=1.5 in /System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python (from matplotlib)
Requirement already satisfied (use --upgrade to upgrade): python-dateutil in /System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python (from matplotlib)
Requirement already satisfied (use --upgrade to upgrade): tornado in /Library/Python/2.7/site-packages (from matplotlib)
Requirement already satisfied (use --upgrade to upgrade): pyparsing>=1.5.6 in /System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python (from matplotlib)
Collecting nose (from matplotlib)
/Library/Python/2.7/site-packages/pip-7.1.2-py2.7.egg/pip/_vendor/requests/packages/urllib3/util/ssl_.py:90: InsecurePlatformWarning: A true SSLContext object is not available. This prevents urllib3 from configuring SSL appropriately and may cause certain SSL connections to fail. For more information, see https://urllib3.readthedocs.org/en/latest/security.html#insecureplatformwarning.
  InsecurePlatformWarning
  Downloading nose-1.3.7-py2-none-any.whl (154kB)
    100% |████████████████████████████████| 155kB 46kB/s
Requirement already satisfied (use --upgrade to upgrade): backports.ssl-match-hostname in /Library/Python/2.7/site-packages (from tornado->matplotlib)
Requirement already satisfied (use --upgrade to upgrade): singledispatch in /Library/Python/2.7/site-packages (from tornado->matplotlib)
Requirement already satisfied (use --upgrade to upgrade): certifi in /Library/Python/2.7/site-packages (from tornado->matplotlib)
Requirement already satisfied (use --upgrade to upgrade): backports-abc>=0.4 in /Library/Python/2.7/site-packages (from tornado->matplotlib)
Requirement already satisfied (use --upgrade to upgrade): six in /System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python (from singledispatch->tornado->matplotlib)
Installing collected packages: nose
Successfully installed nose-1.3.7
You are using pip version 7.1.2, however version 8.0.2 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.

我检查了 Pycharm,但是,在解释器中没有 matplotlib 模块。 如何在我的 virtualenv 中安装软件包?

您不应使用 brew 安装 python 模块,而应使用 pip。以下方法在 OSX.

中对我有用
Desktop     $ virtualenv myproject # Create the virtual environment
Desktop     $ cd myproject # Change into that directory
Desktop     $ source bin/activate # Enter the virtual environment
(myproject) $ sudo pip install matplotlib # Install matplotlib
(myproject) $ deactivate # Exit from the virtual environment

查看 here 以获得对 virtualenv 的进一步解释。

如果pip包不可用,可以在本地python目录下找到brew安装。

快速修复:

  • 将 essentia 安装到您的本地环境。
  • 将本地 essentia 包附加到您的虚拟环境

sys.path.append('/usr/local/lib/python2.7/site-packages') import essentia

长修复:

  • 如果您想在虚拟环境中完全包含这些包,请尝试将本地 site-packages/essentia 文件夹复制到您的虚拟环境
  • 复制任何其他依赖项,例如 site-packages/numpy。检查 brew 的 Cellar (/usr/local/Cellar) 是否有其他依赖项