【问题标题】:Virtualenvwrapper errors on Mac OS X LionMac OS X Lion 上的 Virtualenvwrapper 错误
【发布时间】:2011-10-19 11:57:16
【问题描述】:

我刚刚将我的 Mac 从 Snow Leopard 更新为 Lion。然后我需要安装virtualenvvirtualenvwrapper。我同时使用了easy_install。 我还在我的 .bash_profile 文件中添加了 virtualenvwrapper 设置,如下所示:

# virtualenvwrapper settings
export WORKON_HOME="~/virtualenvs"
source "/usr/local/bin/virtualenvwrapper.sh"

但在采购时出现以下错误:

ERROR: Could not create temporary file name. Make sure TMPDIR is set.
virtualenvwrapper.sh: There was a problem running the initialization hooks. 
If Python could not import the module virtualenvwrapper.hook_loader, 
check that virtualenv has been installed for VIRTUALENVWRAPPER_PYTHON=/Library/Frameworks/Python.framework/Versions/2.7/bin/python and that PATH is set properly.

感谢大家的帮助。

【问题讨论】:

    标签: python macos osx-lion virtualenv virtualenvwrapper


    【解决方案1】:

    由于/Library/Frameworks/Python.framework/Versions/2.7/bin/python 是单独安装的 Python 2.7(可能来自 python.org 安装程序)而不是 Apple 提供的 Python 2.7 (/usr/bin/python2.7) 的路径,因此您需要确保您使用的是 @ 987654323@ 用于该单独的 Python 或更改为使用 Apple 提供的 Python。要执行任一操作,您应该确保您的 shell PATH 变量是正确的。对于第一种情况,您应该能够通过执行以下操作来安装 easy_install

    cd /tmp
    curl -O http://python-distribute.org/distribute_setup.py
    sudo $VIRTUALENVWRAPPER_PYTHON distribute_setup.py
    

    您可以修复您的 shell PATH 以包含框架 bin 目录。如果您使用bash,一种方法是将此行添加到~/.bash_profile

    export PATH="/Library/Frameworks/Python.framework/Versions/2.7/bin:${PATH}"
    

    然后打开一个新的终端会话。您现在应该发现您刚刚安装的easy_install 是正确的:

    $ which easy_install
    /Library/Frameworks/Python.framework/Versions/2.7/bin/easy_install
    

    【讨论】:

    • 嗨,内德“蟒蛇人”迪莉!非常感谢您的回答。在您回答之后,我想在寻求帮助之前我可能还必须更新我的 Python 安装。所以,完成了,在我的 iMac 上,一切都按预期工作,而在我的 Macbook 上却没有...... :( 然后,我按照你的智慧的话修复了它。真的,真的谢谢你。Fyi,easy_install 和 pip 都在@987654331 @。在您的指示之后,它们在我的$VIRTUALENVWRAPPER_PYTHON 中(顺便说一句,我已经在我的.bash_profile 文件中将它添加到我的$PATH 中)。那么,distribute_setup.py 做了什么?tnx
    • 最简单的思考方式是每个 Python 实例都必须有自己的easy_install commnad。 distribute_setup.py 脚本为其运行的 Python 实例安装 easy_install 版本。
    • 再次感谢。希望有了virtualenv,我现在应该能够直接在虚拟环境中更新到主要的 Python 版本,并与其他库一起管理特定的库。刚刚学习 Python,我相信我们会再次见面,在此先感谢您的宝贵帮助。
    • 我遇到了相反的问题:我使用自制软件安装了我的 Python(它在 /usr/local/bin 中创建了一个符号链接),但是 ~/.bash_profile 中的 export PATH="/Library/Frameworks/...:${PATH}" 破坏了事情。注释掉该行可以解决所有问题。
    【解决方案2】:

    我遇到了类似的问题,我通过将 $TMPDIR 导出到更合理的路径来解决它,而不是 Mac OS X 喜欢的随机废话。

    $ grep TMPDIR ~/.env
    export TMPDIR=/tmp/
    
    $ source .env
    

    现在virtualenvwrapper 可以创建它的临时文件了。长话短说,只需将 export TMP=/tmp/whatever 添加到您的 shell 运行时配置文件中(例如,对于 ZSH,它是 ~/.zsh,对于 bash,它是 ~/.bashrc)。

    【讨论】:

      猜你喜欢
      • 2012-06-27
      • 1970-01-01
      • 2015-06-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-06-06
      • 1970-01-01
      相关资源
      最近更新 更多