我不得不使用两个不兼容的python包版本:使用nice cli的较新版本和第三方编排工具使用的pythonapi的较旧版本,后者也是使用cli的python包。因此,我需要有两个独立的虚拟环境。另外,我想从我当前的一次性虚拟环境(第三个)运行python解释器。你知道吗
所有三个命令(package cli、orchestration tool cli和python解释器)都将从用户处调用,并且必须在没有激活/工作目录更改或其他施法的情况下随时可用。另外,我不想涉猎cli脚本的内容,所以让它们只为这个问题而读/运行。你知道吗
从我的观点来看,有几个选项可以实现期望的行为。你知道吗
A。添加到我的.bash_profile
脚本行
export PATH=venv_throwaway/bin:venv_cli/bin:venv_orchestration_tool/bin:$PATH
这个解决方案需要手动步骤为每一个工具,我想用这种方式。此外,该解决方案还存在名称空间重叠问题。bin
我想用这种方式使用的每个新cli的目录都应该小心地放在venv_throwaway/bin
之后,至少因为否则new_cli/bin/python
会在我的venv_throwaway/bin/python
解释器之前。此外,如果其他一些cli具有不兼容的公共依赖关系,那么我必须强制正确的路径放置顺序,这是一个负担。你知道吗
B。将可执行文件符号链接到/usr/local/bin
以用于我希望以这种方式使用的每个工具。这个解决方案几乎是完美的,除了它需要手动步骤。你知道吗
B'。使用可执行文件的完整venv路径调用cli(例如~/.virtualenvs/awscli/bin/aws
)。看起来很像选项B特别是如果我将使用别名来缩短venv路径。你知道吗
C。制作我自己的python包我的\u awesome \u cli安装程序,它自动执行B中的手动步骤。几乎完美,只是它有NIH问题。你知道吗
有没有其他方法可以达到期望的行为?我应该使用什么选项(A、B或C)来执行?你知道吗
目前没有回答
相关问题 更多 >
编程相关推荐