运行Sympy、Scipy、Numpy和Matplotlib的最小Python发行版

11
更新: 我尝试了@user2258766的建议,使用Miniconda。一开始看起来很有前途。但是,当我安装了Scipy、Numpy、Matplotlib和Sympy后,Miniconda文件夹的大小迅速增长到1G。

enter image description here

这是否意味着,如果我想使用我提到的这4个软件包,那么安装的最小大小为1G?为什么它们这么大?还有没有可能进一步缩小安装大小?

enter image description here

--

Scipy网站推荐使用Anaconda。

但是,它为我安装了许多不相关的软件包。

有没有最小的发行版可以使用?

我只想要Scipy、Sympy、Numpy和Maplotlib,而不是其他的。

另一个相关的问题是,为什么这些Python软件包之间有这么多依赖关系?

我之前在用Java编程,现在看到这些Python软件包(例如Scipy)与其他许多软件包之间联系如此紧密,感觉有点不舒服。为什么会这样?一个合理的解释可能会让我更轻松地开始使用Python编程。

谢谢。

我正在使用Windows。谢谢。我之前在使用Java,对Python很不熟悉。


3
为什么不直接下载Python本身并安装所需的库呢? - Ffisegydd
官方scipy网站列出了一系列的单独二进制文件(你提供的所有文件都在列表中)。请跟随每个链接并逐个下载每个软件包。或者,您可以使用easy_install - wflynny
2
我敢打赌,Conda正在保存归档的库,这样在创建不同但类似的环境时,您就不需要再次下载它们。 - Paul H
@PaulH 感谢您的建议。我不确定是否是这种情况。我对我的第一次尝试Python有点失望。也许我应该接受Python至少需要1G才能为我工作。太可惜了。也许我应该重新考虑是否应该从我目前的Java+Gnuplot+maxima转换到Python。 - Changwang Zhang
你肯定可以清除缓存,无论是手动还是其他方式。 - Paul H
conda clean -a 应该可以删除大小约为100-300MB的未使用tar.bz2存档文件。详情请访问https://dev59.com/JlkS5IYBdhLWcg3wMT6s。 - Mr-IDE
3个回答

6
我建议下载Miniconda:http://conda.pydata.org/miniconda.html#miniconda。 Miniconda只安装Python和Conda,占用空间小。Conda是适用于所有操作系统的Python通用包管理器。现在您可以运行以下命令:
conda create -n dev_env scipy numpy matplotlib sympy

上述命令将创建一个名为dev_env的封闭环境,其中只包含命令中列出的软件包。有关conda的更多信息,请访问http://conda.pydata.org/

3
我试用了Miniconda,一开始效果很不错。但是,当我安装了Scipy、Numpy、Matplotlib和Sympy之后,Miniconda文件夹的大小迅速增长到了1G。而完整的Anaconda-1.9.2在安装后只有1.3G。 - Changwang Zhang
1
嗯,这似乎很奇怪。我刚试了一下,我的目录合理,大小为237M /Users/quasiben/anaconda/envs/dev_env/。 - quasiben
这意味着我一定做错了什么...但是只有两个步骤对吧。1)安装Miniconda,2)运行您给我的命令“conda create -n dev_env scipy numpy matplotlib sympy”。我不可能错了,对吗? - Changwang Zhang
Miniconda的初始大小很小:在运行 "conda create" 命令之前为64MB。 - Changwang Zhang
3
@Leo,你说得对。我之前有点轻率地发表评论,现在向你道歉。我可以确认已安装的包的大小确实会使总大小超过1GB。你可以通过调用conda clean --tarballsconda clean --packages来减少一些空间占用。这样可以将我的空间占用减少到500MB左右,这是可以预期的。SciPy约200MB,NumPy约100MB,PySide约200MB... - quasiben
4
也许你用来测量大小的工具会把硬链接计算两次。Conda 通过在 pkgs 目录中解包 tar 文件,然后以硬链接方式将它们链接到安装环境来安装软件包。硬链接不占用额外的硬盘空间,但是一种朴素的计算硬盘空间的方法会多次计算相同的文件。 - asmeurer

5

使用以下命令可以减小Python库的安装大小,通过删除不必要的已下载软件包文件:

# Remove about 100-300 MB of unused tar.bz2 archive files
# https://dev59.com/JlkS5IYBdhLWcg3wMT6s
conda clean --all

# Manually delete about 1-2GB of downloaded packages, after install. See:
# https://groups.google.com/a/continuum.io/d/msg/anaconda/CZjcQKVmIgo/Xx3tYBYzCgAJ
du -sh /path/to/Miniconda/pkgs/  # Just display the folder size
rm -rf /path/to/Miniconda/pkgs/

# Manually delete the useless Pip cache of downloaded files. See:
# https://dev59.com/iGkw5IYBdhLWcg3w_fiJ
rm -rf ~/.cache/pip           # Linux
rm -rf ~/Library/Caches/pip/  # Mac OS X
del %LocalAppData%\pip\Cache  # Windows

信息直接链接:


2

2
值得注意的是,matplotlib 有几个依赖项也需要安装,还有一些其他可选的依赖项,具体取决于您使用它的目的。 - MattDMo

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接