pipenv:如何强制virtualenv目录?

Eri*_*ric 2 python pip pipenv

实际上,pipenv将使用以下路径安装virtualenv:

$WORKON_HOME/<base_dir>-<hash>
Run Code Online (Sandbox Code Playgroud)

例如,是否可能确切地具有我想要的路径,即没有base_dir和和hash,所以:

/home/user/myapp_venv
Run Code Online (Sandbox Code Playgroud)

Dhr*_*shi 21

除了使用自定义位置之外,您还可以在项目目录中安装 virtualenv。只需在 .bashrc/.zshrc 文件中添加以下行:

export PIPENV_VENV_IN_PROJECT=1
Run Code Online (Sandbox Code Playgroud)

只是想让其他人知道还有另一种方法可用。

毕竟,您应该将 virtualenv 保留在项目目录的内部还是外部是一个固执的问题。

  • @TonyS在Windows下,创建一个具有相同名称的环境变量,即`PIPENV_VENV_IN_PROJECT`并将其值设置为1。我没有测试过这个,因为我没有Windows机器,但这应该可以工作。 (3认同)

iva*_*eev 7

中有一个未公开的功能pipenv:如果您在项目根目录中创建一个文件.venv,其中包含路径pipenv则将使用该文件而不是自动生成的路径。

但是,这更适合于您已经拥有一组希望重用的既定环境的情况。否则,将环境放置在任意位置最终很容易造成混乱。pipenv将您从这项任务中解放出来,特别是将它们全部放在一个可预测的地方,并消除人为错误造成的意外碰撞。


geo*_*xsh 5

Pipenv 有一个未记录的功能,它可以从VIRTUAL_ENV环境变量中找到virtualenv路径,但是您需要手动创建virtualenv:

virtualenv /home/user/myapp_venv
VIRTUAL_ENV=/home/user/myapp_venv pipenv install
Run Code Online (Sandbox Code Playgroud)