【问题标题】:initializing virtualenvwrapper on Mac (10.6.8) for Django在 Mac (10.6.8) 上为 Django 初始化 virtualenvwrapper
【发布时间】:2012-10-25 22:16:06
【问题描述】:

我想使用 Django 并创建虚拟环境。我不太了解 virtualenvwrapper 网站上的初始化步骤文档。我已经在 /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages 中安装了 virtualenvwrapper。我也已经安装了 XCode、Homebrew 和 Posgres。

文档告诉我:

$ export WORKON_HOME=~/Envs

$ mkdir -p $WORKON_HOME

$ source /usr/local/bin/virtualenvwrapper.sh

$ mkvirtualenv env1`

我对第一行特别困惑。它是否告诉我需要创建一个名为“WORKON_HOME”的项目文件夹并将其导出到另一个名为“Envs”的文件夹中? (我已经在我的 mac 上搜索了这两个文件夹,但没有找到它们)。然后在第二行我创建另一个目录'WORKON_HOME'? 如果您有更好的解释/教程的建议或链接,我将不胜感激。谢谢。

【问题讨论】:

    标签: django macos osx-snow-leopard virtualenvwrapper initializing


    【解决方案1】:

    将这 3 行放在您的 ~/.bash_profile 文件中:-

    export WORKON_HOME=$HOME/.virtualenvs
    export PROJECT_HOME=$HOME/work
    source `which virtualenvwrapper.sh`
    

    $HOME 环境变量指向您用户的家。也称为 tilda "~",即/Users/your_osx_username/

    WORKON_HOME 是您通过在~/.bash_profile 文件中使用export 调用分配的新环境变量。这是保存所有新创建的 virtualenv 目录的地方。

    PROJECT_HOME 是您通常手动放置所有自定义项目目录的位置。与您的 virtualenvs 无关,只是一个简单的参考点,供您使用 cd $PROJECT_HOME 语法。

    which virtualenvwrapper.sh 指向 bash 脚本 virtualenvwrapper.sh 所在的位置,因此当您获取它时,该 bash 脚本中的函数可用于您的 mkvirtualenv 调用。

    每当您打开“新 shell”(新选项卡,第一次更新 ~/.bash_profile 文件后关闭当前选项卡)时,所有这些环境变量和 bash 函数都将在您的 shell 中可用。

    当我们使用mkvirtualenv -p python2.7 --distribute my_new_virtualenv_1 创建一个新的virtualenv 时,实际发生的是一个名为my_new_virtualenv_1 的新目录正在创建,其中包含指向您的全局python2.7 的符号链接,并创建了新的python site-packages 子目录在您的~/.virtualenvs/ 目录中。参考:-

    calvin$ mkvirtualenv -p python2.7 --distribute my_new_virtualenv_1
    Running virtualenv with interpreter /opt/local/bin/python2.7
    New python executable in my_new_virtualenv_1/bin/python
    Installing distribute..........................................................................................................................................................................................................done.
    Installing pip................done.
    virtualenvwrapper.user_scripts creating /Users/calvin/.virtualenvs/my_new_virtualenv_1/bin/predeactivate
    virtualenvwrapper.user_scripts creating /Users/calvin/.virtualenvs/my_new_virtualenv_1/bin/postdeactivate
    virtualenvwrapper.user_scripts creating /Users/calvin/.virtualenvs/my_new_virtualenv_1/bin/preactivate
    virtualenvwrapper.user_scripts creating /Users/calvin/.virtualenvs/my_new_virtualenv_1/bin/postactivate
    virtualenvwrapper.user_scripts creating /Users/calvin/.virtualenvs/my_new_virtualenv_1/bin/get_env_details
    

    如果你这样做了

    cd ~/.virtualenvs/my_new_virtualenv_1
    calvin$ tree -d
    .
    ├── bin
    ├── include
    │   └── python2.7 -> /opt/local/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7
    └── lib
        └── python2.7
            ├── config -> /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/config
            ├── distutils
            ├── encodings -> /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/encodings
            ├── lib-dynload -> /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-dynload
            └── site-packages
                ├── distribute-0.6.28-py2.7.egg
                │   ├── EGG-INFO
                │   └── setuptools
                │       ├── command
                │       └── tests
                ├── pip-1.2.1-py2.7.egg
                │   ├── EGG-INFO
                │   └── pip
                │       ├── commands
                │       └── vcs
                └── readline
    

    你会在里面看到这个目录结构。

    当然请注意,您使用的是Envs,而我使用的是.virtualenvs 作为虚拟环境保存目录。

    【讨论】:

    • 谢谢卡尔文。我尝试按照您的指示进行操作,但我的终端给了我以下错误:'code' Traceback (last recent call last): File "", line 1, in ImportError: No module named virtualenvwrapper.hook_loader.'code ' 你知道会发生什么吗?
    • 顺便问一下,您是如何安装virtualenvwrapper 的? sudo pip install virtualenvwrapper?
    • 我怀疑您的python 版本可能仍然是苹果默认的python,即python 2.7.1。您应该首先尝试安装 python 2.7.3,这可以通过带有sudo port install python2.7 的 macports 完成,然后使用 sudo port select --set python python27 选择这个新的 python 2.7.3 作为默认值,然后正确设置您的 PATH。类似的设置在这里 - stackoverflow.com/questions/11507186/…
    猜你喜欢
    • 2018-06-18
    • 2018-08-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-03
    • 2013-09-23
    相关资源
    最近更新 更多