小编cel*_*cel的帖子

setuptools vs. distutils:为什么distutils仍然是一个东西?

Python就可以用于打包和描述项目的工具,一个令人困惑的历史:这些包括distutils标准库中,distribute,distutils2,和setuptools(也许更多).看来,distributedistutils2赞成被中止setuptools,这让两个相互竞争的标准.

据我所知,setuptools提供了更多的选项(例如声明依赖项,测试等)distutils,但它没有包含在Python标准库中(但是?).

所述的Python包装用户指南 [ 1 ]现在建议:

使用setuptools定义的项目和创建源代码分发.

并解释说:

尽管您可以distutils在许多项目中使用pure ,但它不支持在其他项目上定义依赖项,并且缺少一些便于实际自动填充包提供的包元数据的便利实用程序setuptools.作为标准库之外,setuptools还在不同版本的Python中提供更一致的功能集,并且(不同distutils)setuptools将更新以在所有支持的版本上生成即将推出的"Metadata 2.0"标准格式.

即使是那些选择使用的项目distutils,当pip直接从源代码安装这样的项目时(而不是从预先构建的wheel文件安装),它实际上会使用setuptools而不是使用它来构建项目.

但是,查看各种项目的setup.py文件会发现这似乎不是一个真正的标准.许多软件包仍在使用,distutils而那些支持setuptools经常混合setuptools使用,distutils例如通过执行后备导入:

try:
    from setuptools import setup
except ImportError:
    from distutils.core import setup
Run Code Online (Sandbox Code Playgroud)

接着尝试找到一种方法来编写可由两者setuptools和两者安装的设置distutils.这通常包括各种容易出错的依赖性检查方法,因为distutils它不支持setup函数中的依赖性.

为什么人们仍然需要额外的努力来支持distutils- 事实setuptools是标准库不是唯一的原因吗? …

python packaging distutils setuptools

129
推荐指数
4
解决办法
3万
查看次数

当我在jupyter笔记本中使用matplotlib时,它总是引发"matplotlib目前正在使用非GUI后端"错误?

import matplotlib.pyplot as pl
%matplot inline
def learning_curves(X_train, y_train, X_test, y_test):
""" Calculates the performance of several models with varying sizes of training data.
    The learning and testing error rates for each model are then plotted. """

print ("Creating learning curve graphs for max_depths of 1, 3, 6, and 10. . .")

# Create the figure window
fig = pl.figure(figsize=(10,8))

# We will vary the training set size so that we have 50 different sizes
sizes = np.rint(np.linspace(1, len(X_train), 50)).astype(int) …
Run Code Online (Sandbox Code Playgroud)

python matplotlib jupyter-notebook

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

pip安装成功后导入ImportError

我已经成功安装了一个库pip install <library-name>.但是当我尝试导入它时,python会提升ImportError: No module named <library-name>.为什么我会收到此错误,如何使用已安装的库?

python pip

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

scikit中的pipeline和make_pipeline有什么区别?

我从sklearn网页上得到了这个:

a)管道:使用最终估算器进行变换的管道

b)Make_pipeline:根据给定的估算器构造管道.这是Pipeline构造函数的简写.

但是当我必须使用每一个时,我仍然不明白.谁能举个例子?

python scikit-learn

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

大熊猫中所有NaN的总和归零?

我试图对Pandas数据帧的各列进行求和,当我在每列中都有NaN时,我得到的总和= 0; 我希望sum = NaN基于文档.这是我得到的:

In [136]: df = pd.DataFrame()

In [137]: df['a'] = [1,2,np.nan,3]

In [138]: df['b'] = [4,5,np.nan,6]

In [139]: df
Out[139]: 
    a   b
0   1   4
1   2   5
2 NaN NaN
3   3   6

In [140]: df['total'] = df.sum(axis=1)

In [141]: df
Out[141]: 
    a   b  total
0   1   4      5
1   2   5      7
2 NaN NaN      0
3   3   6      9
Run Code Online (Sandbox Code Playgroud)

pandas.DataFrame.sum文档说"如果整行/列是NA,结果将是NA",所以我不明白为什么"total"= 0而不是指数2的NaN.我错过了什么?

python pandas

18
推荐指数
3
解决办法
3769
查看次数

无法在 Mac 上使用 conda 安装最新的 nodejs

当我运行时conda search -c conda-forge nodejs,我得到:

# Name                       Version           Build  Channel
...
nodejs                        14.2.0      h2c41780_1  conda-forge
nodejs                        14.2.0      h38d8c5a_0  conda-forge
nodejs                        14.3.0      h2c41780_0  conda-forge
nodejs                        14.4.0      h2c41780_0  conda-forge
Run Code Online (Sandbox Code Playgroud)

但是当我尝试使用conda install -c conda-forge nodejs它安装它时,它会尝试安装 6.13.1。做conda install -c conda-forge nodejs==14.4.0也行不通。它一直试图“解决”环境。对于如何解决这个问题,有任何的建议吗?

node.js conda conda-forge

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

合并2个数组垂直于元组Numpy

这可能很容易,但我似乎无法自己解决这个问题.我有两个numpy数组,一个代表x值,另一个代表相应的y值:

x = np.array([-1, 0, 1, 2])
y = np.array([-2, -1, 0, 1])
Run Code Online (Sandbox Code Playgroud)

有没有办法将这两个数组合并在一起(因此更容易读取每个x值的y值),就像一个tupple:

array = [(-1, -2), (0, -1), (1, 0), (2, 1)]
Run Code Online (Sandbox Code Playgroud)

提前致谢!

python numpy

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

如何存储TfidfVectorizer以供将来在scikit-learn中使用?

我有一个TfidfVectorizer矢量化文章集合,然后是特征选择.

vectroizer = TfidfVectorizer()
X_train = vectroizer.fit_transform(corpus)
selector = SelectKBest(chi2, k = 5000 )
X_train_sel = selector.fit_transform(X_train, y_train)
Run Code Online (Sandbox Code Playgroud)

现在,我想存储它并在其他程序中使用它.我不想TfidfVectorizer()在训练数据集上重新运行和选择特征选择器.我怎么做?我知道如何使模型持久使用,joblib但我想知道这是否与使模型持久化相同.

python tf-idf python-3.x scikit-learn joblib

14
推荐指数
3
解决办法
9072
查看次数

揭开共享类型性能的神秘面纱

在python中,可以在多个进程之间共享ctypes对象.但是我注意到分配这些对象似乎非常昂贵.

考虑以下代码:

from multiprocessing import sharedctypes as sct
import ctypes as ct
import numpy as np

n = 100000
l = np.random.randint(0, 10, size=n)

def foo1():
    sh = sct.RawArray(ct.c_int, l)
    return sh

def foo2():
    sh = sct.RawArray(ct.c_int, len(l))
    sh[:] = l
    return sh

%timeit foo1()
%timeit foo2()

sh1 = foo1()
sh2 = foo2()

for i in range(n):
    assert sh1[i] == sh2[i]
Run Code Online (Sandbox Code Playgroud)

输出是:

10 loops, best of 3: 30.4 ms per loop
100 loops, best of 3: 9.65 ms per loop …
Run Code Online (Sandbox Code Playgroud)

python

13
推荐指数
2
解决办法
1288
查看次数

有没有办法打印jupyter/ipython笔记本幻灯片演示文稿?

有没有办法打印jupyter/ipython笔记本幻灯片的幻灯片?可以从nbviewer网站(http://nbviewer.ipython.org)进行吗?

我知道我可以打印我的笔记本的pdf,但是当我这样做时,它没有相同的分页符,并且没有跳过我想要跳过的所有代码(例如,我导入的库不是没必要).我想将它作为备份或可打印的讲义.

ipython-notebook jupyter jupyter-notebook

12
推荐指数
1
解决办法
5703
查看次数