当前位置: 首页 > 面试题库 >

包假模式

潘星阑
2023-03-14
问题内容

我想在python软件包中包含spacy模型de_core_news_sm。

这是我的项目:https
:
//github.com/michaelhochleitner/package_de_core_news_sm。

我使用以下命令打包并安装该项目。

python setup.py sdist bdist_wheel
pip install dist/example-pkg-mh-0.0.1.tar.gz

我想导入模块example_pkg.import-model.py。

$ python
>>> import example_pkg.import_model
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/mh/PycharmProjects/packaging_tutorial/example_pkg/import_model.py", line 2, in <module>
    import de_core_news_sm
ModuleNotFoundError: No module named 'de_core_news_sm'

如何将模块“ de_core_news_sm”包含到软件包中,以便在运行以下命令后进行安装?

pip install dist/example-pkg-mh-0.0.1.tar.gz

问题答案:

如果要避免用户运行该下载文件,则必须打包并使用自己的源进行分发。此过程称为供应商(有关如何在python中最好地进行深入解释的详细信息,请参阅此出色的帖子,_vendor/__init__.py对于注释示例,请参见pip项目的详细信息),它可能非常方便,但容易使您烦恼问题,如果过度。

简而言之,您可以在包_vendor的源代码目录中创建一个名为(或类似名称)的附加python包,并将下载的de_core_news_sm包复制到其中:

example_pkg
├── import_model.py
├── __init__.py
└── _vendor
    ├── __init__.py
    └── de_core_news_sm
        ├── de_core_news_sm-2.1.0
        │   ├── accuracy.json
        │   ├── meta.json
        │   ├── ner/
        │   ├── parser/
        │   ├── tagger/
        │   ├── vocab/
        │   └── tokenizer
        ├── __init__.py
        └── meta.json

您可以在site_packages安装了python解释器的包中找到该包python -m spacy download de_core_news_sm,即$(which python)/site_packages/de_core_news_sm

最后,您需要将所有模型导入从import de_core_news_sm更改为from example_pkg._vendor import de_core_news_sm,然后它应该可以工作。



 类似资料:
  • 我对假装很陌生。今天就发现吧……当我读到Spring Cloud Feign时,我的第一个问题是:“您如何包装您的Fiign客户机?” 我举个例子。假设我们有2个微服务M1和M2。M2使用来自M1的endpoint。 null 也许我完全错了,请指正。 多谢!拜拜

  • 1. 方案说明 1.1 方案简介 1)由于微信只允许一个中转服务和微信进行数据交互,所以,在此基础上,小能是无法直接和微信进行数据交互的。 而想在此场景下,企业公众微信接入小能在线客服系统,只能由中转服务和小能进行交互。 所有数据由中转服务在中间连接微信和小能,进行数据中转。小能定义此对接模式为复杂开发模式。 2)开发工作量: 上行消息,消息推送给小能方 下行消息,需集成方开发5个接口用于数据交

  • 问题内容: 我需要计算两个日期之间的营业日。例如:我们7月4日放假。所以如果我的日期是date1 = 07/03/2012 date2 = 07/06/2012 由于7月4日为节假日,因此,这些日期的黑白工作日应该为1。 我有一种下面的方法来计算工作日,该工作日仅计算周末,而不计算假期。还有什么方法可以计算假期吗....请帮我。 问题答案: 假设您有一个包含所有假期的列表。 只需在您的条件中添加条

  • 在软件工程中,设计模式(design pattern)是对软件设计中普遍存在(反复出现)的各种问题,所提出的解决方案。这个术语是由埃里希·伽玛(Erich Gamma)等人在1990年代从建筑设计领域引入到计算机科学的。

  • 我想把硒和Spring一起使用。 如果我在没有Spring的情况下使用Selenium,一切正常。每当我添加Spring依赖项(没有Spring代码)时,执行时会引发以下异常: 线程“main”java中出现异常。lang.NoClassDefFoundError:org/openqa/selenium/MutableCapabilities at java。lang.ClassLoader。在j

  • 告诉我如何正确配置Faign和Spring Pageable的工作这里是我的Faign设置 我的朋友 获取请求工作正常。后请求的问题。我得到以下错误 在这种情况下,项目根本不会组装。 原始请求