gpt4 book ai didi

python - virtualenvwrapper: `workon`何时更改为项目目录?

转载 作者:行者123 更新时间:2023-12-01 03:29:37 25 4
gpt4 key购买 nike

我使用virtualenvwrapper管理我的环境。我使用 -a <path-to-project> 创建我的项目论证和 PROJECT_HOME未设置,因为我的项目不共享公共(public)路径。 VIRTUALENVWRAPPER_WORKON_CD设置为1不过,有效的 .project文件存在于虚拟环境中。

当我使用workon时命令,它有时仅将工作目录更改为项目的路径,而在其他时候,尽管环境已正确激活,但目录保持不变。

那么目录何时以及如何更改 workon发生?我必须做/设置一些事情才能让它发挥作用吗?

最佳答案

我有一个小解决方案,尽管有点hacky

  1. 转到此变量 $VIRTUALENVWRAPPER_HOOK_DIR 所在的文件夹正在指向。您可能需要在虚拟环境中才能查看该变量,但通常它的值与 $WORKON_HOME 相同。
  2. 在此文件夹中,您应该会看到一个名为 postactivate 的脚本。
  3. 将此添加为脚本中的最后一行:cdproject

现在,它的作用是,每次您输入 workon <project_name> ,该脚本将在虚拟环境激活后运行,您所在的目录将切换到该项目的目录。

有关更多生命周期 Hook ,请参阅 here !

注意

我没有对此进行全面测试,以确保无论项目如何创建它都可以正常工作,但为了确保它可以正常工作,我建议使用 mkvirtualenv -a <env_name> 创建虚拟环境或者,如果环境存在并且环境已激活,请转到其项目文件夹并运行 setvirtualenvproject . 现在,下次您尝试执行 workon ... 时,脚本将启动并带您进入项目文件夹

附录

由于这是一个 shell 脚本,因此除了这一行之外,您还可以进行一些奇特的调整。例如,您可能只想在激活的项目具有特定模式或属于特定项目组的一部分时执行某些操作。查看一些 $VIRTUALENVWRAPPER_*变量来查看您可以获得哪些其他有用信息

关于python - virtualenvwrapper: `workon`何时更改为项目目录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41080069/

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