我需要在没有管理员或实时访问存储库的企业环境中使用 openpyxl 模块分发 python 2.7 Windows 安装。有许多 openpyxl 先决条件。
安装miniconda 通常涉及用户为其操作系统下载正确的安装,安装管理正确的模块安装。我宁愿不对版本进行硬编码,因为它们在下载后的一段时间内会过时,但我看不到任何解决方法。
我希望在zip文件中包含以下批处理文件(例如自解压存档(。有没有更智能的方法来组装软件并分发它?
@echo off
rem Manual Download and Installing Anaconda Python Packages
rem could change to use http://www.coreftp.com
rem eg for miniconda2 with Python 2.7 at 14/06/2018
rem Download MiniConda
rem https://repo.continuum.io/miniconda/Miniconda2-latest-Windows-x86_64.exe
rem Download coda packages from Anaconda repositories
rem https://repo.continuum.io/pkgs/main/win-64/et_xmlfile-1.0.1-py27h1de5d23_0.tar.bz2
rem https://repo.continuum.io/pkgs/main/win-64/jdcal-1.3-py27h8c72977_0.tar.bz2
rem https://repo.continuum.io/pkgs/main/win-64/openpyxl-2.4.10-py27_0.tar.bz2
rem
set CondaInstallDir=%UserProfile%AppDataLocalContinuumminiconda2
echo Installing MiniConda with extra packages to %CondaInstallDir%
echo ^<Ctrl^>C to cancel OR
pause
echo Installing MiniConda to %CondaInstallDir%
echo Please wait ...
cd %UserProfile%
%~dp0Miniconda2-latest-Windows-x86_64 /AddToPath=0 /S /D=%CondaInstallDir%
cd %CondaInstallDir%Scripts
%HomeDrive%conda install --offline %~dp0jdcal-1.4-py27_0.tar.bz2
%HomeDrive%conda install --offline %~dp0et_xmlfile-1.0.1-py27h1de5d23_0.tar.bz2
%HomeDrive%conda install --offline %~dp0openpyxl-2.4.10-py27_0.tar.bz2
echo done.
pause
面对同样的问题,我采取了稍微不同的方法。
就我而言,我只针对单个应用程序及其所有依赖项。
我把我所有的"额外内容"放在一个名为extrasnoarch
的文件夹中,然后对它们运行索引。这创建了一个我可以从中安装的本地存储库。
conda index extras
然后,该存储库与安装程序一起分发,我的安装脚本为:
conda install -y --offline --override-channels --channel ./extras rstudio
注意:我来这里是为了寻找更好的解决方案。