【问题标题】:Pip packages not found - Brewed Python未找到 Pip 包 - Brewed Python
【发布时间】:2013-01-15 11:51:09
【问题描述】:

在 Mac 上运行 Python 2.7.3,随 HomeBrew 一起安装。

使用 PIP 安装了几个包,包括 virtualenv。 (以 virtualenv 为例,但没有一个包起作用。)

当我尝试在终端中运行它们时,失败如下:

$ virtualenv venv --distribute
-bash: virtualenv: command not found

或者:

$ python virtualenv.py venv
/usr/local/Cellar/python/2.7.3/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOS/Python: can't open file 'virtualenv.py': [Errno 2] No such file or directory

其他几点可能会有所帮助:

$ which python
/usr/local/bin/python
$ pip freeze
MySQL-python==1.2.4
...
virtualenv==1.8.4
$ echo $PATH
/usr/local/bin:/usr/local/sbin:/usr/local/mysql/bin:/opt/local/bin:/opt/local/sbin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/X11/bin
$ echo $PYTHONPATH
/usr/local/lib/python2.7/site-packages:

默认情况下,$PYTHONPATH 是空白的,我在 .bash_profile 中更改了它(没有帮助)。 VirtualEnv 确实存在于该路径中。 我也尝试将此路径添加到 .profile $path 中,但这也无济于事,因此我将其删除。

HomeBrew Python page 上似乎与此有关,但我是 Python 新手,无法弄清楚。花了几个小时 DuckDuckGo'ing 没有任何收获。

任何帮助将不胜感激。

编辑:更新以反映实际使用情况。

【问题讨论】:

  • 如果$ virtualenv venv 不起作用,请尝试$ python -m virtualenv venv 不依赖于您的$PATH 来查找virtualenv 二进制文件。
  • @HugoTavares 我得到:/usr/bin/python:没有名为 virtualenv 的模块
  • @RicardoGonzales:这意味着您没有在该特定 python 上安装 virtualenv。您可以使用 pip 或从源代码安装 virtulaenv;检查文档:virtualenv.pypa.io/en/latest/installation.html
  • @HugoTavares 我已经用 pip 安装了 virtualven。如果你有时间请看我的问题。 stackoverflow.com/questions/31707557/…

标签: python macos virtualenv pip homebrew


【解决方案1】:

问题是我没有将 Python 添加到系统 $PATH。

在 brew 安装结束时显示(可通过键入 brew info python 查看):

Executable python scripts will be put in:  
   /usr/local/share/python
so you may want to put "/usr/local/share/python" in your PATH, too.

因此,只需打开 .profile 并将其粘贴进去,所有包都可以使用。

非常感谢 Brew IRC 频道上的 MistyM 指出这一点!

【讨论】:

  • 看准了!这是一个很大的帮助。非常感谢。
  • 如果您没有.profile,请将其添加到您的.bash_profile
  • 您能否详细说明如何将路径添加到您的 .bash_profile
  • .bash_profile 是一个文件,Bash 在启动时检查(除其他外)对 $PATH 的更改。默认情况下,它不存在,因此您可能必须通过打开终端并输入:touch ~/.bash_profile 并按 Enter 键来创建它。这意味着“在我的本地主目录中创建文件”。 (注意:您不会在 finder 中看到它,因为它是隐藏的,因为名称以点开头。)您可以通过输入终端来编辑该文件:open ~/.bash_profile 这将打开该文件以在您的默认程序中进行编辑,其中可能是TextEdit。如果你得到一个空白页,这是一个好兆头。
  • 打开 .bash_profile 后,添加以下行并按保存:export PATH="/usr/local/share/python:$PATH"。这会重写路径以包含 Python 的路径,这是您需要的。请注意,尽管在 Mac 中,Bash 也会在本地用户级别检查 .profile 和 .bashrc。在全局级别上,它会检查 /etc/profile、/etc/bashrc 和 /etc/bash_profile [可能还有许多其他]。
【解决方案2】:

如果您的系统没有提供virtualenv命令,请下载virtualenv.py

curl -L -o virtualenv.py https://raw.github.com/pypa/virtualenv/master/virtualenv.py

首先创建你的 virtualenv 文件夹:

 python virtualenv.py venv # venv <-- name of the folder

你需要在 shell 中运行 virtualenv 的 activate:

 . venv/bin/activate

 source venv/bin/activate

这修复了 PYTHONPATH 和 PATH。您在每个 shell 会话中执行一次。然后 python 命令将神奇地工作:)

现在运行 pip,包将安装在 venv 中。

更多信息(免责声明,我是作者)http://opensourcehacker.com/2012/09/16/recommended-way-for-sudo-free-installation-of-python-software-with-virtualenv/

【讨论】:

  • 我不确定我是否理解 - 在您上面的示例中,您所说的 venv 是 YOURVIRTUALSERVER 吗?当我运行第一行时,它会出错: $ python virtualenv.py venv; /usr/local/Cellar/python/2.7.3/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOS/Python:无法打开文件'virtualenv.py':[Errno 2]没有这样的文件或目录表示换行符 - 我不知道如何在 SO 上的 cmets 中放置换行符
  • 所以首先你需要从这里下载 virtualenv.py raw.github.com/pypa/virtualenv/master/virtualenv.py 如果“virtualenv”命令不能安装在你的系统上,否则。从命令行在 OSX 上下载的命令在上面。
  • 我还澄清了示例的其他部分
  • 谢谢,但是 1) Virtualenv 已安装,如 freeze 命令所示,2) 我还需要其他几个 PIP 库,它们都已安装但无法访问。即使我找到了仅适用于 VirtualEnv 的解决方案,它也对我没有太大帮助
  • 但是virtualenv是冻结后激活还是需要单独激活?
【解决方案3】:

创建虚拟环境的快速工作流程

$ mkdir awesomeapp 
$cd awesomeapp
$virtualenv venv --distribute
New python executable in venv/bin/python
Installing distribute.........done.
Installing pip................done.
$source venv/bin/activate
(venv)$python

当您创建虚拟 venv 文件夹以存储路径时,您将 CD 放入您的目录。

当你看到 (venv) 时,你会发现它处于活动状态

【讨论】:

  • $ mkdir awesomeapp; $ cd真棒应用程序; $ virtualenv venv --distribute; -bash:virtualenv:找不到命令;我得到了和以前一样的错误。
  • 你的解决方案没有做任何与他的错误有关的事情。
  • @pih 在 OP 更改问题之前它更相关,但感谢您指出。
猜你喜欢
  • 2019-07-17
  • 1970-01-01
  • 1970-01-01
  • 2020-09-10
  • 1970-01-01
  • 2018-03-02
  • 2022-01-04
  • 2020-01-26
相关资源
最近更新 更多