在我看来,pip只使用PyPI的以下API资源:
/pypi/package_name 用于查找最新版本的分发链接/pypi/package_name/version 用于指向特定版本的链接/pypi/ 获取所有包的列表(当以前的资源找不到合适的包时?不确定)search用于按名称或描述搜索分布的xmlrpc方法.此外,似乎setuptools/distribute /等使用/pypi/具有multipart-data post 的资源,其中field :action=="upload"用于上传具有其元数据的文件,并且"register"用于仅上载元数据.
那剩下的API怎么样?从数据库返回分发元数据的API调用,但在我看来,pip从发布文件本身读取它们.还有许多其他xmlrpc方法,但它看起来并不像pip一样使用它们.
是否有其他客户使用更多PyPI的API?我忽略了一些pip的功能吗?是API调用,如display_pkginfo,verify和urls等正在使用的任何其他客户端了吗?
我试着比较一些的结果 numpy.array计算与预期结果进行比较,并且我经常得到错误的比较,但打印的数组看起来相同,例如:
def test_gen_sine():
A, f, phi, fs, t = 1.0, 10.0, 1.0, 50.0, 0.1
expected = array([0.54030231, -0.63332387, -0.93171798, 0.05749049, 0.96724906])
result = gen_sine(A, f, phi, fs, t)
npt.assert_array_equal(expected, result)
Run Code Online (Sandbox Code Playgroud)
打印回:
> raise AssertionError(msg)
E AssertionError:
E Arrays are not equal
E
E (mismatch 100.0%)
E x: array([ 0.540302, -0.633324, -0.931718, 0.05749 , 0.967249])
E y: array([ 0.540302, -0.633324, -0.931718, 0.05749 , 0.967249])
Run Code Online (Sandbox Code Playgroud)
我的gen_sine函数是:
def gen_sine(A, f, phi, fs, t):
sampling_period = 1 / fs
num_samples = fs …Run Code Online (Sandbox Code Playgroud)