是否可以将conda安装完全脱机的依赖项?

时间:2014-04-05 07:47:22

标签: python-3.x anaconda miniconda

我要教10个以上的人开始使用Python,需要在他们自己的机器上安装它。我选择使用Miniconda,因为我希望使用iPython,matplotlib等进行无痛的Python 3安装。恐怕每个通过网络安装的人都会堵塞它。有没有办法提前获取所有包及其依赖项并在讲座中将它们安装到计算机上?

编辑:我怀疑大部分将在Windows上运行。

2 个答案:

答案 0 :(得分:4)

最简单的方法是只需下载Anaconda installers,并将它们放在几个可以传递的USB驱动器上。对于像这样的教程,这是非常标准的做法。

如果人们使用自己的电脑,你应该强烈要求人们事先安装Anaconda。如果它们是计算机实验室计算机,请在本教程之前自行安装。


作为一种更加手动的方式,您可以从http://repo.continuum.io/pkgs/free/osx-64/index.html下载所需的软件包(您可能还想为http://repo.continuum.io/pkgs/free/win-32/index.html执行此操作),并将其打包成tarball,然后您就可以了conda install packages.tar。但是请确保获得所有依赖项。您可能希望使用所需的包创建一个conda环境,以便查看所需的所有内容(conda create -n test package1 package2 ...)。

答案 1 :(得分:1)

不知道miniconda,但正如其他linux repo你可以这样做: (来自ubuntu论坛: https://askubuntu.com/questions/170348/how-to-make-my-own-local-repository

为自己设置一个简单的存储库有4个步骤

1.安装dpkg-dev

2.将包放在目录

3.创建一个将扫描包并创建文件的脚本apt-get update可以读取

4.在指向存储库的sources.list中添加一行

安装dpkg-dev

输入终端

sudo apt-get install dpkg-dev

目录

创建一个保存包裹的目录。对于此示例,我们将使用/ usr / local / mydebs。

sudo mkdir -p /usr/local/mydebs

现在将您的包移到您刚刚创建的目录中。

以前下载的软件包通常存储在系统的/ var / cache / apt / archives目录中。如果您已安装apt-cacher,则会在其/ packages目录中存储其他软件包。

脚本update-mydebs

这是一个简单的三个班轮:

 #! /bin/bash
 cd /usr/local/mydebs
 dpkg-scanpackages . /dev/null | gzip -9c > Packages.gz

将以上内容剪切并粘贴到gedit中,并将其保存为〜/ bin中的update-mydebs。 (代字号'〜'表示你的主目录。如果〜/ bin不存在,请创建它:Ubuntu会将该目录放在你的PATH中。这是放置个人脚本的好地方)。接下来,使脚本可执行:

chmod u+x ~/bin/update-mydebs

脚本如何工作: dpkg-scanpackages 查看mydebs中的所有软件包,输出被压缩并写入apt-get update可以读取的文件(Packages.gz)(参见下面的参考资料,解释了这一点)难以忍受的细节)。 / dev / null是一个空文件;它是一个覆盖文件的替代品,它包含一些关于包的附加信息,在这种情况下并不是真正需要的。如果你想了解它,请参阅deb-override(5)。

<强>的sources.list

添加行

deb文件:/ usr / local / mydebs ./ 到你的/etc/apt/sources.list,你就完成了。

CD选项

您可以将包含deb的目录刻录到CD并将其用作存储库(适合在计算机之间共享)。要将CD用作存储库,只需运行

即可
sudo apt-cdrom add
Using the Repository

每当你在mydebs目录中放入一个新的deb时,运行

sudo update-mydebs
sudo apt-get update

现在可以使用Synaptic操作本地软件包, aptitude和apt命令: apt-getapt-cache等 当您尝试apt-get install时,只要可以满足它们,就会为您解决所有依赖项。

糟糕的包装可能会失败,但你不会忍受dpkg地狱。