Pip安装到自定义目标目录并排除特定依赖项

2024-09-20 22:52:14 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在寻找一种使用pip或similiar将python包列表安装到自定义目标目录(例如/mypath/python/pkgs/)的方法,但也排除/blacklist特定的依赖项。

我想排除特定的依赖项,因为它们已经从不同的安装路径(例如anaconda安装)中满足。我没有将包添加到默认python安装的特权(我也不想这样做)。

我现在使用pip的-r和-t选项。但还没有找到排除特定包的方法。

这样的pip命令是理想的:

pip install --log pip.log -r req.txt -t /mypath/pypkgs/ --exclude exclude.txt

--no-deps不是一个选项,因为我需要一些依赖项。

我目前正在使用一个python脚本来进行pip安装,其中包括不需要的依赖项,通过:

pip install --log pip.log -r req.txt -t /mypath/python/pkgs/

然后(自动)在pip安装完成后删除不需要的依赖项。

我希望pip命令的一些组合可以实现我所寻找的一些简单的方法。我用的是pip 7.1.2。谢谢!

类似,但我没有升级,希望指定目标路径:

pip: upgrade package without upgrading particular dependency


Tags: installpip方法命令路径txtlog列表
2条回答

面对类似的问题,使用运行中的bash shell,我成功地排除了

pip install $(grep -ivE "pkg1|pkg2|pkg3" requirements.txt)

其中pkg1等是要排除的包的名称。

我认为这基本上可以通过几个步骤来实现,假设您使用的是virtualenv或类似的。。。

  • 如果你先做一个正常的pip freeze > requirements.txt,你将得到所有可传递依赖项的

  • 现在编辑requirements.txt,删除要排除的包。。。

  • 最后,在一个新的环境中做pip install -r requirements.txt -t ... --no-deps。你已经安装了你想要的依赖项,但排除了特定的依赖项。

相关问题 更多 >

    热门问题