我希望我的问题很清楚,如果没有,请告诉我。
我正在使用OpenImageIO的python绑定(pybind11)来处理一些将在数百台计算机上运行的脚本。不幸的是,安装OpenImageIO并使它与我的Python2安装一起工作花费了大量时间。我想知道是否有一种方法可以创建一个文件/文件夹,我可以发送给其他计算机,这样他们就可以简单地用"pip安装文件/文件夹“来安装OpenImageIO模块。
谢谢你的帮助
发布于 2020-07-28 14:10:07
您是否在具有共享文件系统的计算集群上运行脚本?如果运行脚本,则无需为每台计算机创建单独的python安装。最简单的解决方案是在所有机器都可以访问的位置创建一个python环境。在非系统位置创建Python环境的一种简单方法是使用米尼康达。将其安装到共享(网络)位置,并创建供所有计算机使用的环境。
如果您的机器没有共享的文件系统,那么您将需要在所有这些机器上独立地复制环境。在这种情况下,用pip.**做这件事没有简单的方法
但是,如果您可以使用conda,那么有一个非常简单的解决方案。首先,将所需的一切安装到单个conda环境中。然后您可以选择:您可以导出conda包列表,或者简单地将整个conda环境目录复制到其他机器。
OpenImageIO可以从社区开发的conda包存储库conda-forge通道获得。包的名称是py-openimageio。他们已经停止了python-2.7版本的更新,但是旧版本仍然可用。
这是怎么做的。
conda create -n jao-stuff -c conda-forge py-openimageio python=2.7
conda activate jao-stuff
python -c "import OpenImageIO; print('It works!')"python可执行文件:
tar xzf jao-stuff.tar.gz jao- -c /bin/python OpenImageIO“导入OpenImageIO;打印(‘它工作!’)**这是因为OpenImageIO是一个C++项目,有几个C++依赖项,而且它们不提供wheel格式的二进制文件。我不怪他们-- pip不太适合这个用例,即使有轮子。另一方面,Conda正是为这个用例设计的,并且非常适合它。
https://stackoverflow.com/questions/63131768
复制相似问题