在使用virtualenvwrapper之前我从来没有看过这个消息,但现在每当我跑步时,我突然看到这个消息,mkvirtualenv <environment>或者workon <environment>:
Usage: source deactivate
removes the 'bin' directory of the environment activated with 'source
activate' from PATH.
Run Code Online (Sandbox Code Playgroud)
我根本没有修改过virtualenvwrapper,快速谷歌搜索只会产生这个GitHub问题 - 我之前安装了IPython/Anaconda,但我不确定它是如何干扰virtualenvwrapper的.在任何情况下,我都尝试更新两个(conda update conda; conda update ipython),以及将virtualenvwrapper本身更新为v4.1.1,但我仍然看到这个错误.
我正在运行OS X 10.8.4.
我尝试使用virtualenvwrapper创建一个兼具python2和python3的virtualenv
每个virtualenv与python2和python3通过Homebrew我希望这将工作:
(virtualenv的名字是'double')
mkvirtualenv double -p `which python`
mkvirtualenv double -p `which python3`
Run Code Online (Sandbox Code Playgroud)
它提到了这一点
Not overwriting existing python script both/bin/python (you must use both/bin/python3.4)
Run Code Online (Sandbox Code Playgroud)
但这似乎并非如此.打字python python2.7 python3并python3.4全部启动python3.4翻译.
是否有可能强制virtualenv使用pypi提供的最新setuptools和pip?从本质上讲,我找了相反的的--never-download标志.
目前,当我创建一个新的virtualenv时,它使用与virtualenv捆绑在一起的本地(旧)版本.
$ v.mk testvenv
New python executable in testvenv/bin/python
Installing setuptools............done.
Installing pip...............done.
$ pip show setuptools
---
Name: setuptools
Version: 0.6c11
Location: /Users/cwilson/.virtualenvs/testvenv/lib/python2.7/site-packages/setuptools-0.6c11-py2.7.egg
Requires:
$ pip search setuptools
[...]
setuptools - Easily download, build, install, upgrade, and
uninstall Python packages
INSTALLED: 0.6c11
LATEST: 0.7.2
[...]
Run Code Online (Sandbox Code Playgroud) Virtualenvwrapper是一个围绕Python的virtualenv的用户友好的shell.
Python 3.3附带pyvenv内置于标准库中,旨在取代virtualenv.
但是如果我在Python3.3上安装Virtualenvwrapper,它仍会安装virtualenv,让我相信它不会使用'pyvenv'.
据推测这并不重要 - 如果我想在Python3.3上使用virtualenvwrapper,我应该高兴地让它使用virtualenv而不是pyvenv,并且(目前)会不会受到任何不良影响?
我一直在寻找答案,但没有找到答案.我有一个虚拟的环境目录,一个带有req.txt的项目目录.当我运行pip -r req.txt时,它会安装一些来自github(源代码)的应用程序和一些来自pypi的应用程序.来自pypi的那些在虚拟evn上可重新定位的调用之后很好,但是从github安装的应用程序的站点包中的链接仍然指向旧的目录位置.
其他人都看过这种行为?有什么快速的方法吗?此外,relocatable不支持最初在virtualenv上使用的--no-site-packages标志.移动虚拟并重新激活后,系统的站点包中都可以看到所有内容.Docs表明这种行为是一个事实,所以我想知道是否有任何快速解决方法?
有时我得到错误,我怀疑是我的Django应用程序使用全局安装的Python模块/ Django应用程序而不是其virtualenv中的那些.
有没有办法检查我的应用程序的virtualenv是否使用'--no-site-packages'创建而不必删除它,然后重新创建如下?
deactivate
rmvirtualenv my_env
mkvirtualenv my_env --no-site-packages
workon my_env
pip install -r requirements.txt
Run Code Online (Sandbox Code Playgroud)
当然必须有更好的方法!谢谢.
我使用virtualenvwrapper文档创建了一个虚拟环境,如下所示:
$ pip install virtualenvwrapper
$ export WORKON_HOME=~/Envs
$ mkdir -p $WORKON_HOME
$ source /usr/local/bin/virtualenvwrapper.sh
$ mkvirtualenv env1
Run Code Online (Sandbox Code Playgroud)
它在大多数情况下工作正常,但我遇到了一些Django问题,需要我在我的虚拟环境之外安装一些全局软件包.一旦我安装了这些软件包,如何更新我的虚拟环境以引入这些新软件包?或者我是否需要从头开始重新创建环境?
我最近改变了我的python设置,现在它已经安装了brew.以前使用virtualenv和virtualenvwrapper时,它默认使用python3设置一个新的virtualenv(用于我的大多数项目).现在不幸的是默认是python2.我可以使用以下命令安装python3:
mkproject -p python3 projectname
Run Code Online (Sandbox Code Playgroud)
但是我怎样才能使python3成为默认值?
我按照以下步骤设置了virtualenv + virtualenvwrapper:
$ sudo apt-get install python3-pip
$ sudo pip3 install virtualenv
$ sudo pip3 install virtualenvwrapper
$ mkdir ~/.virtualenvs
$ export WORKON_HOME=~/.virtualenvs
$ VIRTUALENVWRAPPER_PYTHON='/usr/bin/python3'
$ source /usr/local/bin/virtualenvwrapper.sh
$ mkvirtualenv venv
$ virtualenv venv
Run Code Online (Sandbox Code Playgroud)
到目前为止它工作正常,但我重新启动了shell然后我尝试了workon venv,现在它说:command not found
我正在尝试将 python 从 3.6 升级到 3.8。我成功地使用了virtualenv/wrapper(虽然只有一个环境,没有bells、whistles 或hooks),但是升级并不顺利。我删除了所有内容并尝试重新开始。我正在尝试使用 建立一个新环境mkvirtualenv test,现在出现错误:
virtualenv: error: unrecognized arguments: --no-site-packages在它给出了一个关于如何调用的 man(ual) 建议之后virtualenv,这让我相信它virtualenvwrapper是有效的,但我错过了一些东西。
这是我的详细信息:
终端 (osx - 10.13.6 (17G65))
today@5 ~/dev/MST/server(master)$ which python
/usr/bin/python
today@5 ~/dev/MST/server(master)$ which python3
/usr/local/bin/python3
today@5 ~/dev/MST/server(master)$ which pip
/usr/local/bin/pip
today@5 ~/dev/MST/server(master)$ which pip3
today@5 ~/dev/MST/server(master)$ pip -V
-bash: /usr/local/bin/pip: /usr/local/opt/python/bin/python3.6: bad interpreter: No such file or directory
today@5 ~/dev/MST/server(master)$ pip3 -V
pip 20.0.2 from /usr/local/lib/python3.8/site-packages/pip (python 3.8)
today@5 ~/dev/MST/server(master)$ pip3 install virtualenv virtualenvwrapper
Requirement already …Run Code Online (Sandbox Code Playgroud) python ×9
virtualenv ×9
python-3.x ×3
pip ×2
anaconda ×1
django ×1
python-3.3 ×1
python-venv ×1
setuptools ×1