我们使用Python脚本使用不同的工具箱或库(如GDAL等)处理卫星图像。我们现在遇到的问题是,我们使用的一些第三方Python应用程序(在我们没有影响的地方)需要这些python包的不同版本(例如,Sentinel2 SEN2COR大气校正要求GDAL1.x,我们也希望使用GDAL2.x来修改JPEG2000文件)。
什么是最好的方法来设置这个东西?我更喜欢这样一种方式:可以有多个相同版本的python安装(例如2.7,但这并不重要),并分别为每个版本安装包和版本。就像这样,我可以确保SEN2COR脚本在他自己的python安装中运行,在那里我安装了所需的包,以后再也不碰它了,并与我的其他脚本一起在另一个python安装中工作。
我认为像virtualenv这样的东西是完美的,但是有一点是很重要的:我们所有的脚本都是命令行脚本,并且是从各种来源启动的,比如MATLAB脚本、R脚本甚至cron作业。在virtualenv中是否有一种方法,可以从shell或其他程序中执行类似/usr/bin/python-version-only-for-sen2cor process_data.py arguments和/location/of/other/python-version reload_table.py之类的操作?我们的设置最好的方法是什么?我可能只需多次安装python,并且总是修改环境vars,以便在安装包时使用不同的python版本,但我想这很容易出错。有什么建议吗?
https://stackoverflow.com/questions/33775248
复制相似问题