我希望能够执行以下操作,以便更容易地比较不同的版本:
import pvlib
import pvlib_old我可以将pvlib克隆到两个单独的本地目录中,签出所需的版本,然后在可编辑/开发人员模式下安装。但我需要做什么才能更改其中一个的名称呢?
在setup.py中进行此更改是否足够
DISTNAME = 'pvlib_old'编辑:我在某个时候尝试过,但它不起作用。
还是有别的办法?
发布于 2019-06-20 21:39:10
pvlib的开发者已经选择了这个名字。他们几乎肯定会在自己的源文件中使用该名称,以便从子模块和库的多个文件中导入代码。您不能通过简单的文件系统操作来更改名称。你必须处理所有的源文件,调整那里的所有导入,并希望不会有一些意外的角落大小写,它以意外的方式依赖于包的名称。就是不要。
在两个单独的Anaconda环境中安装两个版本,编写一个使用API的脚本,然后在两个单独的控制台中运行该脚本,每个控制台对应一个Anaconda环境。
发布于 2019-09-06 19:58:45
您必须克隆您正在寻找的标记("version"),并且只克隆定义分支并避免任何进一步深入的标记(这就是您的情况)。例如,将0.6.1版克隆到本地文件夹"pvlib_0.6.1“以区分不同的版本:
$ git clone --branch v0.6.1 --depth 1 https://github.com/pvlib/pvlib-python.git ./pvlib_0.6.1现在,您可以导入该版本,包括在sys路径中的第一个位置:
$ python
>>> import sys
>>> sys.path.insert(0, './pvlib_0.6.1') # Or full path if you store it in another place
>>> import pvlib
>>> pvlib.__version__
u'0.6.1'您不能在与第一个提案相同的脚本中调用多个版本,但您可以执行以下操作:
$ python
>>> DISTNAME = '0.6.1'
>>> import sys
>>> sys.path.insert(0, './pvlib_%s' % DISTNAME)
>>> import pvlib
>>> pvlib.__version__
u'0.6.1'请记住,插入路径的位置必须在位置0,如果不是,并且您已经在系统中安装了pvlib版本和pip,则当您导入库时,系统可能会优先于您想要使用的其他版本进行加载。
https://stackoverflow.com/questions/56647739
复制相似问题