使用pip消费npm包

2024-05-16 09:33:03 发布

您现在位置:Python中文网/ 问答频道 /正文

我们有多个nodejs和python服务。在nodejs服务之间共享代码很容易——我们只需将一个包发布到我们的artifactory实例。现在,我想在python服务中使用该包中的一些数据,特别是json文件

有这样的方法:

npm view package@version | grep tgz | xargs wget | tar xf

为了简洁起见,我省略了一些论点。 这允许获取json文件作为服务初始化脚本的一部分,但它违背了我们基础设施中的许多约定

我想要的是能够让pip使用包中的非py文件。其他包确实安装了json文件,所以我尝试复制它。 在我的npm包中,我有setup.py:

import os
from setuptools import setup


setup(
    name='my_package',
    version='0.0.{}'.format(os.getenv('BUILD_NUMBER', '1')),
    py_modules=['my_package'],
    package_data={'my_package': ['package/dist/json/*.json']},
    include_package_data=True
)

和清单.in:

include package/dist/json/*.json

在python服务中,我有requirements.txt:

https://$USER:$PASSWORD@artifactory.hostname/some/path/my-package-0.0.12345.tgz

包安装成功,但未提取任何json文件。 我错过了什么


Tags: 文件pyimportjsonpackagenpmdataos