Virtualenv有多个可能的位置

问题描述 投票:-1回答:1

我的一位同事使用以下行实现shell脚本

output="$(venv/bin/python manage.py has_missing_migrations --quiet --settings=project.tests_settings 2>&1)"

这是完整的代码:

# Check missing migrations

  output="$(venv/bin/python manage.py has_missing_migrations --quiet --settings=project.tests_settings 2>&1)"
  [ $? -ne 0 ] \
      && ipoopoomypants "Migrations" "$output" \
      || irock "Migrations"

如果我运行脚本,我会获得

Running pre-commit checks:
  [OK] anonymize_db ORM queries
  [OK] Forbidden Python keywords
  [OK] Forbidden JavaScript keywords
  [OK] Forbidden HTML keywords
[FAIL] Migrations

COMMIT REJECTED: .git/hooks/pre-commit: line 88: venv/bin/python: No such file or directory

上述问题是它考虑到在项目本身内部创建了虚拟环境。但是,情况并非总是如此。从我所关心的,我使用virtualenvwrapper。因此,我的virtualenv不是./venv,但在~/.virtualenvs/venv

问题:我怎么能以这样的方式修改上面的行,它会考虑路径./venv~/.virtualenvs/venv

django bash virtualenv virtualenvwrapper
1个回答
1
投票

您应该使用WORKON_HOME环境变量来指出virtualenvs的位置而不是硬编码。

© www.soinside.com 2019 - 2024. All rights reserved.