Python 使用自定义distlib运行Virtualenv?
我想对Python的Python 使用自定义distlib运行Virtualenv?,python,dependencies,virtualenv,Python,Dependencies,Virtualenv,我想对Python的distlib进行一些开发,并在这个过程中通过virtualenv运行代码,其中distlib是一个依赖项 也就是说,不要在virtualenv中运行流程,而是使用自定义依赖项运行virtualenv的代码。我需要通过哪些步骤来实现这一目标 在我看来,正常的包管理(pip)在这里是不可能的。当然最简单的方法就是修改Python环境,搜索另一个目录,在它从stdlib获取修改后的distlib之前,它会在那里找到它?实现这一点的经典方法是设置PYTHONPATH环境变量。不需要
distlib
进行一些开发,并在这个过程中通过virtualenv
运行代码,其中distlib是一个依赖项
也就是说,不要在virtualenv中运行流程,而是使用自定义依赖项运行virtualenv的代码。我需要通过哪些步骤来实现这一目标
在我看来,正常的包管理(
pip
)在这里是不可能的。当然最简单的方法就是修改Python环境,搜索另一个目录,在它从stdlib获取修改后的distlib
之前,它会在那里找到它?实现这一点的经典方法是设置PYTHONPATH
环境变量。不需要对Python安装进行任何更改 我终于明白了。谢谢你的回答,holdenweb,但是这个特殊的情况有点复杂
我首先将virtualenv
、pip
和distlib
存储库克隆到~/git repos/
中
由于virtualenv执行pip的方式,仅更改Python路径是不够的,还需要在virtualenv/virtualenv.py
SCRIPT=textwrap.dedent(“”)
导入系统
进口蛋白胶
导入临时文件
导入操作系统
导入系统
sys.path.insert(0,'/home/harald/git repos/pip')
进口pip
...
Pip发行了distlib,所以为了运行我的自定义版本,我创建了一个从Pip的标准distlib到克隆源的符号链接:
~/git-repos/pip/pip/_vendor/distlib -> ~/git-repos/distlib/distlib/
然后在创建和激活环境之后,我也在终端中运行了这个
export PYTHONPATH=/home/harald/git repos/pip
在此之后,virtualenv使用我的自定义代码创建新的虚拟环境