gpt4 book ai didi

python - 我无法在 Fabric 中使用 virtualenvwrapper 切换 virtualenv

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

我正在使用 virtualenvwrappervirtualenv 用于我的 Django 部署。以下是我的 Fabric 任务:

proj_path = '/path/to/proj'

def setup_code():
sudo('pip install virtualenvwrapper')
run('export WORKON_HOME=$HOME/.virtualenvs')
run('source /usr/local/bin/virtualenvwrapper.sh && mkvirtualenv myenv')
run('source /usr/local/bin/virtualenvwrapper.sh && workon myenv')
cd(proj_path)
req_file = os.path.join(proj_path, 'requirements.txt')
run('pip install -r %s' % req_file)

我执行了上面的 fab 任务,但它的行为很奇怪。 pip 开始检索所有包,然后开始为它们执行安装文件。在执行 setup 文件时崩溃并提示 Permission denied

但是为什么?它在 ~virtualenv 中工作。

我做错了什么?

最佳答案

解决了问题:

对于 Fabric :

cd('dir') # doesn't works.

以下作品:

with cd('dir'):
print('pwd') # Directory change reflects here.

类似地,其他环境问题如:

run('export WORKON_HOME=$HOME/.virtualenvs')
run('source /usr/local/bin/virtualenvwrapper.sh && mkvirtualenv myenv')
run('source /usr/local/bin/virtualenvwrapper.sh && workon myenv')

但改为:

with prefix('WORKON_HOME=$HOME/.virtualenvs'):
with prefix('source /usr/local/bin/virtualenvwrapper.sh'):
with prefix('workon myenv'): # Assuming there is a env called `myenv`
run('pip install -r requirements.txt') # Works in virtualenv

从官方文档中得出:http://docs.fabfile.org/en/stable/api/core/context_managers.html

关于python - 我无法在 Fabric 中使用 virtualenvwrapper 切换 virtualenv,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11136962/

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