gpt4 book ai didi

python - 如何根据每个项目设置PIPENV_VENV_IN_PROJECT

转载 作者:行者123 更新时间:2023-12-03 16:00:45 33 4
gpt4 key购买 nike

我希望pipenv为 checkout 项目的每个人自动在$PROJECTDIR/.venv中创建其virtualenv。

到目前为止,我仅看到以下选项有效,但没有一个令人满意:

  • 要求用户全局设置PIPENV_VENV_IN_PROJECT = 1,从而在其他每个项目上强制执行我的项目首选项。
  • 要求用户在我的项目中时始终通过“PIPENV_VENV_IN_PROJECT=1 pipenv”调用pipenv,如果他们运行pipenv命令而忘记设置PIPENV_VENV_IN_PROJECT,则会带来麻烦。
  • 要求用户安装第三方工具direnv并提供.envrc文件,从而添加另一个非显而易见的构建依赖项。

  • 我尝试了以下方法:
  • 将类似PIPENV_VENV_IN_PROJECT的选项添加到Pipfile,但是我找不到任何这样的Pipfile选项。
  • 将“PIPENV_VENV_IN_PROJECT=1”放入$PROJECTDIR/.env中,但这仅在pipenv shell/run的子 shell 内进行求值,并且被pipenv本身忽略。

  • 那么,如何根据每个项目设置PIPENV_VENV_IN_PROJECT?

    最佳答案

    我自己回答这个问题,的确有可能!
    短篇小说:
    只需自己创建一个空的.venv目录。 Pipenv会自动进行处理。
    长话:
    请注意,pipenv问题跟踪器中有许多问题会给人以错误的印象,即pipenv开发人员不想提供此功能。但是,这些问题只是描述了实现此目标的其他方法,而这些其他方法却被拒绝了。
    但是在那困惑之中,有一条评论实际上是有帮助的:

  • https://github.com/pypa/pipenv/issues/2197#issuecomment-446601760

  • techalchemy commented on Dec 12, 2018

    Things you can do:

    1. Simply create the .venv yourself. Pipenv will use it.
    2. Use a tool like direnv to activate this setting per directory
    3. Set the envvar globally
    4. Create a file in the project root called .venv whose contents are only the path to the root directory of a virtualenv

    For points 1 and 4, pipenv will pick this up automatically


    注意:如果您想使用当前Debian/Stable(Buster)随附的 pipenv,第4点将不起作用,因为此功能是在更高的 pipenv版本中引入的。但是,第1点的效果很好。对于Python 3,这意味着:
    python3 -m virtualenv -p python3 .venv
    pipenv install ... # resp. pipenv sync

    关于python - 如何根据每个项目设置PIPENV_VENV_IN_PROJECT,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57919110/

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