Python 使用同一软件包的多个版本
我正在尝试安装github repo的不同分支。我是否可以在一个发行版中安装这两个版本,并以某种方式同时使用这两个版本Python 使用同一软件包的多个版本,python,python-2.7,Python,Python 2.7,我正在尝试安装github repo的不同分支。我是否可以在一个发行版中安装这两个版本,并以某种方式同时使用这两个版本 https://github.com/abhigenie92/python-goose https://github.com/grangier/python-goose 通常是不可能的,除非你将它们作为单独的包名。这还取决于你如何使用不同的包-如果你想从两个类中获得功能,最好的办法是分叉头项目,并在补丁中合并这两个分叉的功能,如果你想破解它,就将它们合并到你自己的一个。否则,
https://github.com/abhigenie92/python-goose
https://github.com/grangier/python-goose
通常是不可能的,除非你将它们作为单独的包名。这还取决于你如何使用不同的包-如果你想从两个类中获得功能,最好的办法是分叉头项目,并在补丁中合并这两个分叉的功能,如果你想破解它,就将它们合并到你自己的一个。否则,我建议找一个不同的包来做你想做的事情。两个包必须同时对一个程序可用吗?如果不是,使用虚拟环境会更安全。@metatoaster:一般来说,这是可能的,例如setuptools'
pkg_resources.require()
但它不适用于使用相同名称和相同版本的fork:abhigenie92/python goose
是引入提交的granger/python goose
的fork——我不知道“packages”OP谈论的是什么:它是一个单独的包和相同的包版本。如果更改不是要提交回去,那么fork应该更改包名。@AbhishekBhatia:no.granger/python goose
位于abhigenie92/python goose
的上游。如果它是一个持久的fork,则后者应该更改名称。考虑到您已经演示的理解水平,您不应该引入新的包:只需将分叉放在代码旁边的不同目录中(例如,像pip.\u vendor.requests
),这样绝对模块名称就会不同。您应该提供更多的上下文,说明为什么需要在同一个程序中使用两个fork。通常不可能,除非你将它们作为单独的包名。这还取决于你如何使用不同的包-如果你想从这两个类中获得功能,最好的办法是分叉头项目,并将带有这两个分叉的功能的补丁合并到你自己的包中,如果你想破解它的话。否则,我建议找一个不同的包来做你想做的事情。两个包必须同时对一个程序可用吗?如果不是,使用虚拟环境会更安全。@metatoaster:一般来说,这是可能的,例如setuptools'pkg_resources.require()
但它不适用于使用相同名称和相同版本的fork:abhigenie92/python goose
是引入提交的granger/python goose
的fork——我不知道“packages”OP谈论的是什么:它是一个单独的包和相同的包版本。如果更改不是要提交回去,那么fork应该更改包名。@AbhishekBhatia:no.granger/python goose
位于abhigenie92/python goose
的上游。如果它是一个持久的fork,则后者应该更改名称。考虑到您已经演示的理解水平,您不应该引入新的包:只需将分叉放在代码旁边的不同目录中(例如,像pip.\u vendor.requests
),这样绝对模块名称就会不同。您应该提供更多关于为什么需要在同一个程序中使用两个fork的上下文。