当前位置: 首页 > 面试题库 >

如何处理名称冲突的python包?

微生俊捷
2023-03-14
问题内容

我正在使用两个具有相同名称的python软件包。

  • http://www.alembic.io/updates.html
  • https://pypi.python.org/pypi/alembic

是否有规范或Python方式处理名称冲突的两个软件包的安装?到目前为止,我在开发/构建过程中仅偶尔需要一个软件包,因此我一直在使用单独的virtualenv来处理冲突,但是这使构建步骤变得更加复杂,我想知道是否没有更好的处理方式。


问题答案:

您可以将–target选项用于pip并安装到其他位置:

pip install --target=/tmp/test/lib/python3.6/site-packages/alt_alembic alembic

然后,当您导入python时,请像往常一样执行第一个操作,对于alt则要从该名称空间进行导入,如下所示:

import alembic  # alembic.io version
from alt_alembic import alembic as alt_alembic  # pip version

然后,当您调用该对象时,您可以调用alt_alembic.function()并调用不在PyPi中的那个对象,即alembic.function()我的目标路径具有/
tmp / test,就像我使用虚拟环境时一样。您需要使用适合您的python安装的正确路径替换该路径。



 类似资料:
  • 冲突合并一般是因为自己的本地做的提交和服务器上的提交有差异,并且这些差异中的文件改动,Git不能自动合并,那么就需要用户手动进行合并 如我这边执行git pull origin master 如果Git能够自动合并,那么过程看起来是这样的 拉取的时候,Git自动合并,并产生了一次提交。 如果Git不能够自动合并,那么会提示 这个时候我们就可以知道README.MD有冲突,需要我们手动解决,修改RE

  • 问题内容: 我想在一个应用程序中使用两个Python库(Google的Cloud Library 和他们的Cloud SDK ),但是它们具有冲突的名称(它们都在其基本导入名称中使用,并且在内部不使用相对导入)。如何在单个应用程序中使用它们? 更改库的代码以使用适当的相对导入是不切实际的。另外,我知道我可以使用virtualenv从单独的python应用程序访问这些库,但是如何在同一个python

  • 主要内容:执行 master 分支变更,出现冲突,解决冲突假设要在分支中执行更改,修改分支中的代码。添加一个计算长度的函数:,代码变化如下 - 假设验证代码后,没有问题就提交这些更改。 执行 master 分支变更 同时在分支中,另外一个开发人员()还会更改了内容,并将其更改推送到分支。 验证差异后,现在就提交更新内容。 在分支上,我们已经实现了一个函数。假设经过测试后,提交并将其更改推送到分支。 出现冲突 假设另外一个开发人员()想看看我们在分支上做了

  • 那么,我该如何处理冲突,我已经知道我可以用Rect.colliderect(Rect)检测它。 我试过几种方法,但遇到了一些问题: 我不能把玩家的速度减到0,当他撞到东西的时候,然后把他移回来,直到他刚刚碰到那个物体,因为这仍然会引起走路的问题,当他走路的时候,我把+10的速度加到x上,但不幸的是,游戏的过程仍然是他跌倒,碰撞,侧身移动,所以只是把他移回到他开始的地方。 我是一个初学者,所以一个简

  • 对于很多人来说,合并时出现冲突是非常可怕的事,这就好像一不小心格式化了自己的硬盘一样。在这一章节里我将为你消除这种恐惧。 你不会把事情搞砸 首先你应该记住,你总是可以撤销一个合并操作,并且返回到冲突发生之前的状态。也就是说,你永远有机会放弃并重新开始。 如果你已经掌握了一些关于其它的版本控制系统的使用经验,例如 Subversion ,你可能会很难过。因为在 Subversion 中处理冲突是被大

  • 问题内容: 考虑以下jfiddle http://jsfiddle.net/bchapman26/9uUBU/29/ 我有2个模块(module1和module2)。module1和module2都定义了一个名为myService的服务。当两个模块都导入myApp时,这似乎在Angular中的myService上创建了名称冲突。看来AngularJs仅使用第二个服务定义,而没有警告您可能的问题。