gpt4 book ai didi

python - 将 Virtualenv 与闪存驱动器中的 Winpython 一起使用

转载 作者:太空宇宙 更新时间:2023-11-03 16:37:43 25 4
gpt4 key购买 nike

我刚刚下载了 Winpython 3.4.4.2 ,并且我正在尝试从闪存驱动器可移植地使用它。我也在使用 git-bash。我在 Win 7 中,设置了“path”和“pythonpath”环境变量以包含

F:\WinPython-32bit-3.4.4.2

如果我查看真实的 Scripts 文件夹:

/real/Scripts
$ ls
Activate.ps1 _decimal.pyd _msi.pyd _sqlite3.pyd _testimportmultiple.pyd easy_install-3.4-script.py easy_install.exe pip-3.4-script.py pip.exe python3.dll pywintypes34.dll tk86t.dll
_bz2.pyd _elementtree.pyd _multiprocessing.pyd _ssl.pyd _tkinter.pyd easy_install-3.4.exe easy_install.exe.manifest pip-3.4.exe pip.exe.manifest python34.dll select.pyd unicodedata.pyd
_ctypes.pyd _hashlib.pyd _overlapped.pyd _testbuffer.pyd activate.bat easy_install-3.4.exe.manifest msvcp100.dll pip-3.4.exe.manifest pyexpat.pyd pythoncom34.dll sqlite3.dll vcomp100.dll
_ctypes_test.pyd _lzma.pyd _socket.pyd _testcapi.pyd deactivate.bat easy_install-script.py msvcr100.dll pip-script.py python.exe pythonw.exe tcl86t.dll winsound.pyd

我创建了一个名为“real”的虚拟环境。现在,当我尝试激活 virtualenv 时,我得到:

/real/Scripts
$ source activate.bat
sh: @echo: command not found
sh: ./activate.bat: line 4: syntax error near unexpected token `('
sh: ./activate.bat: line 4: `if not defined PROMPT ('

/real/Scripts
$ source activate
sh: activate: No such file or directory

activate.bat 文件开头为:

@echo off
set "VIRTUAL_ENV=F:\envs\virtalenvs\real"
if not defined PROMPT (

set "PROMPT=$P$G"

)

if defined _OLD_VIRTUAL_PROMPT (
set "PROMPT=%_OLD_VIRTUAL_PROMPT%"
)

如何激活虚拟环境?

最佳答案

根据上面的评论,我从下面的 virtualenv 源中获取了 POSIX“激活”脚本:

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

deactivate () {
unset pydoc

# reset old environment variables
if [ -n "$_OLD_VIRTUAL_PATH" ] ; then
PATH="$_OLD_VIRTUAL_PATH"
export PATH
unset _OLD_VIRTUAL_PATH
fi
if [ -n "$_OLD_VIRTUAL_PYTHONHOME" ] ; then
PYTHONHOME="$_OLD_VIRTUAL_PYTHONHOME"
export PYTHONHOME
unset _OLD_VIRTUAL_PYTHONHOME
fi

# This should detect bash and zsh, which have a hash command that must
# be called to get it to forget past commands. Without forgetting
# past commands the $PATH changes we made may not be respected
if [ -n "$BASH" -o -n "$ZSH_VERSION" ] ; then
hash -r 2>/dev/null
fi

if [ -n "$_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="$(if [ "$OSTYPE" "==" "cygwin" ]; then cygpath -u 'F:\envs\virtalenvs\venv_name'; else echo '/F/envs/virtalenvs/venv_name'; fi;)"
export VIRTUAL_ENV

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

# unset PYTHONHOME if set
# this will fail if PYTHONHOME is set to the empty string (which is bad anyway)
# could use `if (set -u; : $PYTHONHOME) ;` in bash
if [ -n "$PYTHONHOME" ] ; then
_OLD_VIRTUAL_PYTHONHOME="$PYTHONHOME"
unset PYTHONHOME
fi

if [ -z "$VIRTUAL_ENV_DISABLE_PROMPT" ] ; then
_OLD_VIRTUAL_PS1="$PS1"
if [ "x" != x ] ; then
PS1="$PS1"
else
if [ "`basename \"$VIRTUAL_ENV\"`" = "__" ] ; then
# special case for Aspen magic directories
# see http://www.zetadev.com/software/aspen/
PS1="[`basename \`dirname \"$VIRTUAL_ENV\"\``] $PS1"
else
PS1="(`basename \"$VIRTUAL_ENV\"`)$PS1"
fi
fi
export PS1
fi

alias pydoc="python -m pydoc"

# This should detect bash and zsh, which have a hash command that must
# be called to get it to forget past commands. Without forgetting
# past commands the $PATH changes we made may not be respected
if [ -n "$BASH" -o -n "$ZSH_VERSION" ] ; then
hash -r 2>/dev/null
fi

在脚本中搜索 VENV_NAME,然后替换为您的 venv 的名称(您可能需要仔细检查文件路径。将脚本放入名为“activate”的 venv 的脚本文件夹中,您应该可以开始操作了。为我工作。

关于python - 将 Virtualenv 与闪存驱动器中的 Winpython 一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37074148/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com