使Pipenv在同一文件夹中创建virtualenv

时间:2018-09-27 15:09:53

标签: python pipenv

我希望Pipenv在与项目(Django)相同的文件夹中创建虚拟环境。

我搜索并找到了PIPENV_VENV_IN_PROJECT选项,但是我不知道在哪里以及如何使用它。

5 个答案:

答案 0 :(得分:16)

这也许可以帮助其他人。.我找到了另一种简单的方法来解决这个问题!

只需在您的项目中创建一个空文件夹并将其命名为.venv

,pipenv将使用此文件夹。

答案 1 :(得分:10)

PIPENV_VENV_IN_PROJECT是一个环境变量,只需对其进行设置(该值无关紧要,但不能为空)。确保将其导出,以便外壳程序的子进程可以看到它:

export PIPENV_VENV_IN_PROJECT="enabled"

这将导致在.venv文件旁边的Pipfile目录中创建virtualenv。使用unset PIPENV_VENV_IN_PROJECT再次删除该选项。

您可能想看看direnv project在这里是否有用。只要您在项目目录中创建了.envrc文件,并使用direnv启用了目录,它将在您进入项目目录时自动为您设置环境变量。然后,您可以将任何此类export命令添加到该文件。

答案 2 :(得分:0)

对于鱼壳,使用:

set -Ux PIPENV_VENV_IN_PROJECT 1

答案 3 :(得分:0)

尝试

Declare @cnt INT = 0
DECLARE @postponedate date = cast('2019-08-20' as date); --Will be the current date of postponement
DECLARE @checkdate date = cast('2019-08-27' as date); --Date of the check
Declare @fdate date = (select [Date] FROM #TMP WHERE [Date] = @checkdate); --dates to be compared


WHILE @postponedate <= @fdate
BEGIN
    DECLARE @IsWorkDay INT = (select IsWorkDay FROM #TMP WHERE cast([Date] as date) = @postponedate)
    DECLARE @IsWeekDay INT = (select IsWeekDay FROM #TMP WHERE cast([Date] as date) = @postponedate)

        SET @cnt = CASE WHEN @IsWorkDay = 1 THEN
            @cnt + 1 
        ELSE
            @cnt + 0.5
        END

        SET @postponedate = DATEADD(Day, 1, @postponedate)

    PRINT @postponedate
    PRINT @cnt
END

答案 4 :(得分:0)

为了后代,如果您发现 pipenv 没有在正确的位置创建虚拟环境,您可能在某处有一个错误的 Pipfile,混淆了 pipenv shell 调用 - 在这种情况下,我会从路径位置删除它未明确链接到存储库。