添加环境变量以在Django项目的virtualenv中激活文件

时间:2018-11-02 09:45:05

标签: django virtualenv

我最近克隆了一个django项目,在README文件中说:

Edit .venv/bin/activate and add this environment variables.

::

  export DJANGO_SETTINGS_MODULE="thissite.settings.development"
  export LD_LIBRARY_PATH=/usr/local/lib
  export LC_ALL='en_US.UTF-8'
  export LANG='en_US.UTF-8'

因此,我构建了这个虚拟环境,在这一步中,我应该只是简单地将这个环境变量复制并粘贴到激活文件中(到底在哪里?)或什么?

激活文件:

# This file must be used with "source bin/activate" *from bash*
# you cannot run it directly

deactivate () {
unset -f pydoc >/dev/null 2>&1

# reset old environment variables
# ! [ -z ${VAR+_} ] returns true if VAR is declared at all
if ! [ -z "${_OLD_VIRTUAL_PATH+_}" ] ; then
    PATH="$_OLD_VIRTUAL_PATH"
    export PATH
    unset _OLD_VIRTUAL_PATH
fi
if ! [ -z "${_OLD_VIRTUAL_PYTHONHOME+_}" ] ; then
    PYTHONHOME="$_OLD_VIRTUAL_PYTHONHOME"
    export PYTHONHOME
    unset _OLD_VIRTUAL_PYTHONHOME
fi

if [ -n "${BASH-}" ] || [ -n "${ZSH_VERSION-}" ] ; then
    hash -r 2>/dev/null
fi

if ! [ -z "${_OLD_VIRTUAL_PS1+_}" ] ; then
    PS1="$_OLD_VIRTUAL_PS1"
    export PS1
    unset _OLD_VIRTUAL_PS1
fi

unset VIRTUAL_ENV
if [ ! "${1-}" = "nondestructive" ] ; then
# Self destruct!
    unset -f deactivate
fi
}

# unset irrelevant variables
deactivate nondestructive

VIRTUAL_ENV="/home/majid/Documents/Website/.venv"
export VIRTUAL_ENV

_OLD_VIRTUAL_PATH="$PATH"
PATH="$VIRTUAL_ENV/bin:$PATH"
export PATH

如果有人帮助我解决此问题,我非常感谢。

2 个答案:

答案 0 :(得分:1)

export KEY=VALUE是终端命令。只需将其复制粘贴到终端上即可。如果要对Django项目进行更多控制,建议您安装pipenv并在存在manage.py的根文件夹中创建名为.env的文件。建议使用pipenv与virtualenv和管理环境一起使用。

.env

 DJANGO_SETTINGS_MODULE="thissite.settings.development"
 LD_LIBRARY_PATH=/usr/local/lib
 LC_ALL='en_US.UTF-8'
 LANG='en_US.UTF-8'

答案 1 :(得分:0)

如果您使用的是virtualenvwrapper,将有一个postactivate文件,您可以在其中放置环境变量。

取决于您的设置方式,但它可能位于以下位置:

/Users/<me>/.virtualenvs/<my_project>/bin

只需将这些导出语句粘贴到其中,激活它们即可在您的环境中使用它们。