换句话说,mkvirtualenv和mkproject命令之间有什么区别?
我有一个如下所示的工作流程:
/dev
projectA
appA
appB
projectB
appA
appB
Run Code Online (Sandbox Code Playgroud)
所有应用程序共享一些资源(如South,pep8等),但其他资源特定于每个应用程序.我应该使用virtualenvwrapper"项目"来保持这些依赖关系分开吗?
我有很多项目~/Documents.我几乎只在python中工作,所以这些基本上都是python项目.每一个,例如~/Documents/foo都有自己的virtualenv,~/Documents/foo/venv(它们总是被称为venv).每当我在项目之间切换时,每天约10次,我这样做
deactivate
cd ..
cd foo
source venv/bin/activate
Run Code Online (Sandbox Code Playgroud)
我已经到达了我生病了打字的点deactivate和source venv/bin/activate.我正在寻找一种方法,cd ../foo并为我处理virtualenv操作.
我熟悉VirtualEnvWrapper,在我看来这有点笨拙.它似乎将你所有的virtualenvs移动到其他地方,并且据我所知,增加了一些复杂程度.(欢迎反对意见!)
我对shell脚本不太熟悉.如果你可以推荐一个低维护的脚本添加到我~/.zshrc完成这个,这将是绰绰有余,但从一些快速的谷歌搜索,我还没有找到这样的脚本.
我是zsh/ oh-my-zsh用户.oh-my-zsh似乎没有这个插件.这个问题的最佳答案是有人提供oh-my-zsh插件来做到这一点.(如果这里的答案黯淡无光,我可能会这样做.
在Python 3.5中,创建虚拟环境的推荐方法是使用venv,而不是virtualenv.python包装教程仍然提到了这两种工具.
但是,virtualenvwrapper是使用virtualenv时使用的推荐包装工具.
我的问题是:
编辑:我可以看到我的问题的答案有一些混乱.venv是Python官方版本的virtualenv,如上面的链接所述.多个堆栈溢出问题表明应该使用venv.如"重复"中所述,您建议:
venv的引入部分是对这一混乱的回应.如果你想帮助改善这种情况,我建议你使用venv并鼓励其他人也这样做
所以鼓励使用venv.但正如这个问题所暗示的那样,如果要使用venv,那么如何使用像virtualenvwrapper这样的包装器
我安装了virtualenv和virtualenvwrapper,但在尝试设置应用程序时,我输入mkvirtualenv --no-site-packages了以下错误:
-bash: mkvirtualenv: command not found
我不知道如何解决这个问题.作为初学者,我会感激任何帮助.
编辑:固定!
只需要输入.cache目录
我已经试过virtualenvwrapper文档说明,我已经试过这家伙的说明,以及这些 ......我已经试过sudo pip uninstall virtualenv
,sudo pip uninstall virtualenvwrapper,sudo pip3 uninstall virtualenv,sudo pip3 uninstall virtualenvwrapper试图每个指令集之前.我看过像这样的其他SO帖子,但是sudo问题与我自己的不一样.通过这个,我的意思是我在制作virtualenv时不使用sudo,如果我尝试使用sudo pip安装包,它只会说我已经安装了包(在virtualenv之外).
我也尝试过 pip install --user virtualenv(wrapper)
这是我做的:
~ $ sudo pip3 install virtualenv
Downloading/unpacking virtualenv
Downloading virtualenv-13.0.3-py2.py3-none-any.whl (1.7MB): 1.7MB downloaded
Installing collected packages: virtualenv
Successfully installed virtualenv
Cleaning up...
~ $ mkdir ~/.virtualenvs
~ $ sudo pip3 install virtualenvwrapper
Downloading/unpacking virtualenvwrapper
Downloading virtualenvwrapper-4.5.1-py2.py3-none-any.whl
Requirement already satisfied (use --upgrade to …Run Code Online (Sandbox Code Playgroud) 我在一个用户帐户中有一个Python virtualenv(使用virtualenvwerapper创建).我想从同一主机上的其他用户帐户使用它.
我怎样才能做到这一点?如何设置虚拟环境以便主机上的任何用户可以使用?(主要是Linux/Debian,还有Mac OSX.)
谢谢.
简而言之,我的问题是,当我尝试使用virtualenvwrapper中的mkvirtualenv创建virtualenv时,我收到以下错误:
$ mkvirtualenv test
New python executable in test/bin/python
ERROR: The executable test/bin/python could not be run: [Errno 13] Permission denied
Run Code Online (Sandbox Code Playgroud)
但是,当我查看二进制文件的权限时,据我所知,一切都应该没问题......
$ ll ~/.virtualenvs/test/bin
total 2604
drwxr-xr-x 1 (username) staff 5 Feb 7 19:10 ./
drwxr-xr-x 1 (username) staff 5 Feb 7 18:51 ../
-rwxr-xr-x 1 (username) staff 2655776 Feb 7 19:10 python*
lrwxrwxrwx 1 (username) staff 6 Feb 7 19:10 python2 -> python*
lrwxrwxrwx 1 (username) staff 6 Feb 7 19:10 python2.7 -> python*
Run Code Online (Sandbox Code Playgroud)
当我尝试以root身份运行时,我收到类似的错误:
$ sudo .virtualenvs/test/bin/python …Run Code Online (Sandbox Code Playgroud) permissions virtualenv virtualenvwrapper python-2.7 ubuntu-12.10
我是Python虚拟环境的新手,所以在阅读本教程之后,我尝试使用创建我的第一个环境virtualenvwrapper.我的python3安装现在是裸机:
$ pip3 list
argparse (1.2.1)
pip (1.5.6)
setuptools (2.1)
stevedore (0.15)
virtualenv (1.11.6)
virtualenv-clone (0.2.5)
virtualenvwrapper (4.3.1)
Run Code Online (Sandbox Code Playgroud)
根据教程的建议,我在.bashrc文件中添加了以下行:
export WORKON_HOME=$HOME/.virtualenvs
source /Library/Frameworks/Python.framework/Versions/3.4/bin/virtualenvwrapper_lazy.sh
Run Code Online (Sandbox Code Playgroud)
当我打开一个新终端时会产生以下消息:
Last login: Wed Sep 10 22:33:17 on ttys006
-bash: _VIRTUALENVWRAPPER_API: unbound variable
-bash: VIRTUALENVWRAPPER_SCRIPT: unbound variable
-bash: VIRTUALENVWRAPPER_SCRIPT: unbound variable
-bash: _VIRTUALENVWRAPPER_API: unbound variable
-bash: _VIRTUALENVWRAPPER_API: unbound variable
complete: usage: complete [-abcdefgjksuv] [-pr] [-o option] [-A action] [-G globpat] [-W wordlist] [-P prefix] [-S suffix] [-X filterpat] [-F …Run Code Online (Sandbox Code Playgroud) 我最近干净安装了Mac OS 10.10.3,并尝试建立一个python环境.但我无法让virtualenvwrapper工作.
我使用Homebrew安装了python 2和3.
$ which python
/usr/local/bin/python
$ which python3
/usr/local/bin/python3
$ which pip
/usr/local/bin/pip
$ which virtualenv
/usr/local/bin/virtualenv
$ which virtualenvwrapper.sh
/usr/local/bin/virtualenvwrapper.sh
Run Code Online (Sandbox Code Playgroud)
以下是我的.bash_profile中的行
export PATH=/usr/local/bin:$PATH
export WORKON_HOME=$HOME/.virtualenvs
export VIRTUALENVWRAPPER_PYTHON=/usr/local/bin/python
export VIRTUALENVWRAPPER_VIRTUALENV=/usr/local/bin/virtualenv
source /usr/local/bin/virtualenvwrapper.sh
Run Code Online (Sandbox Code Playgroud)
virtualenv独立工作:$ source bin/activate
但是当我采购virtualenvwrapper.sh时.我收到以下错误消息.
/usr/local/opt/python/bin/python2.7: No module named virtualenvwrapper
virtualenvwrapper.sh: There was a problem running the initialization hooks.
If Python could not import the module virtualenvwrapper.hook_loader,
check that virtualenvwrapper has been installed for
VIRTUALENVWRAPPER_PYTHON=/usr/local/bin/python and that PATH is
set properly.
Run Code Online (Sandbox Code Playgroud)
我无法弄清楚出了什么问题.当我在终端回应VIRTUALENVWRAPPER_PYTHON时.它返回正确的路径.事实上,我的所有路径都是正确的.他们都指向自制程序目录.
我怎样才能让它发挥作用?
我有一个问题,python在virtualenv中没有找到由pip安装的模块.
我把它缩小了,发现python当我的virtualenv激活时我打电话,它仍然伸出/usr/bin/python而不是/home/liam/dev/.virtualenvs/noots/bin/python.
当我which python在virtualenv中使用时,我得到:
/home/liam/dev/.virtualenvs/noots/bin/python
当我$PATH在virtualenv中查找我的变量时,我得到:
bash: /home/liam/dev/.virtualenvs/noots/bin:/home/liam/bin:/home/liam/.local/bin:/home/liam/bin:/home/liam/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin: No such file or directory
然而,当我实际运行python它去/usr/bin/python
为了让事情变得更加混乱,如果我运行python3.5它会从正确的目录中抓取python3.5(即/home/liam/dev/.virtualenvs/noots/bin/python3.5)
/home/liam/dev/.virtualenvs/noots/bin/无论如何我还没有碰过.python并且python3.5仍然链接到python3该目录中.遍历/home/liam/dev/.virtualenvs/noots/bin/和运行./python,./python3或./python3.5所有正常工作.
我正在使用,virtualenvwrapper如果这有所作为,但问题似乎最近发生,很久以后安装virtualenv和virtualenvwrapper
virtualenv ×10
python ×8
bash ×1
linux ×1
oh-my-zsh ×1
osx-yosemite ×1
permissions ×1
pip ×1
python-2.7 ×1
python-3.x ×1
python-venv ×1
ubuntu-12.10 ×1
zsh ×1