Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/python-2.7/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 使用同一软件包的多个版本_Python_Python 2.7 - Fatal编程技术网

Python 使用同一软件包的多个版本

Python 使用同一软件包的多个版本,python,python-2.7,Python,Python 2.7,我正在尝试安装github repo的不同分支。我是否可以在一个发行版中安装这两个版本,并以某种方式同时使用这两个版本 https://github.com/abhigenie92/python-goose https://github.com/grangier/python-goose 通常是不可能的,除非你将它们作为单独的包名。这还取决于你如何使用不同的包-如果你想从两个类中获得功能,最好的办法是分叉头项目,并在补丁中合并这两个分叉的功能,如果你想破解它,就将它们合并到你自己的一个。否则,

我正在尝试安装github repo的不同分支。我是否可以在一个发行版中安装这两个版本,并以某种方式同时使用这两个版本

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的上下文。