如何让pipenv基于符号链接路径而不是真实路径来工作

时间:2018-03-28 16:56:01

标签: python pipenv

假设我的项目名称为test

符号链接test - > test_releases/test_v1

cd test
pipenv shell

上面的命令为我提供了test_v1目录的虚拟环境, 但我想将virtualenv链接到test

bcoz我有更新项目并有符号链接test - > test_releases/test_v2,它创建了一个新的test_v2,并且我有很多虚拟环境堆积起来

2 个答案:

答案 0 :(得分:0)

没有这样的选项,我做了一个pipenv的分支,并添加了我的自定义environemnt变量来获得所需的结果

答案 1 :(得分:0)

至少在最新版本中,似乎可以使用VIRTUAL_ENV环境变量来执行此操作:

export VIRTUAL_ENV=/path/to/your/venv
pipenv shell

在上面的示例中:

  1. 创建物理目录test并从那里运行pipenv install以创建与test目录链接的venv。假设(例如),它是在/home/user/.local/share/virtualenvs/test-nRgTMf73中创建的(显然,您的哈希很可能会有所不同)

  2. 删除物理目录并建立符号链接,例如test --> test_releases/test_v1

  3. 现在
  4. cd进入test并运行:

export VIRTUAL_ENV=/root/.local/share/virtualenvs/OfflineSystem-nRgTMf73
pipenv shell

这将使用原始venv,而不管符号链接的物理目标是什么(即与test --> test_releases/test_v2等相同)