小编lyn*_*ynn的帖子

如何在 Ubuntu 上完全清理或重置 Python 安装

包管理和处理 pip、anaconda、PPA 和虚拟环境很困难。在我的依赖关系中的某个地方,事情被打破了。我在 Ubuntu 18.04 上。据我所知,我无法手动修复这些依赖项。

问题在于它的价值:几个月来我一直无法使用 tensorflow。每次我尝试修复它时,即使尽我所知卸载并重新安装所有东西,事情仍然无法正常工作。在沉没足够多的时间后,我正在寻找“核解决方案”。

我想要做的是彻底删除除 Python 和我的系统可能需要的任何 Python 包之外的所有内容,以便我可以重新开始(并希望能正确地做事情。)

所以,我的问题是:如何系统地清理或删除我的 Python 安装?我想擦掉一切,重新开始。是否存在系统指南或智能且信誉良好的脚本来执行此操作?

python apt pip anaconda

8
推荐指数
1
解决办法
1万
查看次数

numpy.zeros为什么不在创建时分配所有内存?我怎么能强迫它呢?

我想在Python中创建一个空的Numpy数组,以便稍后用值填充它.下面的代码生成一个1024 x 1024 x 1024的数组,其中包含2个字节的整数,这意味着它至少需要2 GB的RAM.

>>> import numpy as np; from sys import getsizeof
>>> A = np.zeros((1024,1024,1024), dtype=np.int16)
>>> getsizeof(A)
2147483776
Run Code Online (Sandbox Code Playgroud)

从中getsizeof(A),我们看到数组需要2 ^ 31 + 128个字节(大概是头信息.)然而,使用我的任务管理器,我可以看到Python只占用了18.7 MiB的内存.

假设阵列被压缩,我将随机值分配给每个内存插槽,以便它不能.

>>> for i in range(1024):
...   for j in range(1024):
...     for k in range(1024):
...         A[i,j,k] = np.random.randint(32767, dtype = np.int16)
Run Code Online (Sandbox Code Playgroud)

循环仍在运行,我的RAM正在缓慢增加(大概是由于组成A的数组充满了无法压缩的噪声.)我假设它会使我的代码更快,迫使numpy从头开始扩展这个数组.奇怪的是,我没有在任何地方看到这个记录!

所以,1.为什么numpy这样做?2.如何强制numpy分配内存?

python memory numpy

6
推荐指数
1
解决办法
620
查看次数

在 Python 3 中有效地初始化大小为 n*m 的二维数组?

我正在使用 Python 3 并尝试创建已知且固定大小的二维整数数组。我怎样才能做到这一点?

我想到的数组是 Python 提供的array.array,尽管我并不反对使用像 NumPy 这样的库。

我知道这可以通过列表来完成,但我想使用数组,因为它们的空间效率更高。现在,我正在以这种方式初始化列表,但我想用数组替换它:

my_list = [[ 0 for _ in range(height) ] for _ in range(.width)]

例如,在 C 中,我会写

int my_array[ width ][ height ];

我怎样才能在 Python 中做到这一点

python arrays python-3.x

5
推荐指数
1
解决办法
1万
查看次数

标签 统计

python ×3

anaconda ×1

apt ×1

arrays ×1

memory ×1

numpy ×1

pip ×1

python-3.x ×1