Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Installation with Poetry fails on Python 3.12 - error: ‘PyArray_Descr’ {aka ‘struct _PyArray_Descr’} has no member named ‘subarray’ #3541

Open
juhoinkinen opened this issue Jul 2, 2024 · 4 comments

Comments

@juhoinkinen
Copy link

Problem description

Installation of Gensim version 4.3.2 or current develop branch fails on Python 3.12 when using Poetry - when using pip there is no problem.

Noted this first from a failed run of our CI/CD pipeline, which installs v4.3.2. Two weeks ago it ran successfully.

Steps to reproduce

Success with pip

Run

docker run python:3.12 pip install gensim  # for v4.3.2

or

docker run python:3.12 pip install git+https://github.com/piskvorky/gensim.git@develop

The dependencies for the develop branch by pip are:

gensim 4.3.2.dev0
numpy 1.26.4
scipy 1.14.0
smart-open 7.0.4
wrapt 1.16.0
Fail with Poetry

Using this Dockerfile

FROM python:3.12

RUN pip install --upgrade pip poetry --no-cache-dir

COPY pyproject.toml pyproject.toml

RUN poetry install

and this pyproject.toml

[tool.poetry]
name = "gensim-testing"
version = "0.1.0"
description = ""
authors = ["Your Name <[email protected]>"]

[tool.poetry.dependencies]
python = "^3.12"

# gensim = "4.3.2"
gensim = { git = "https://github.com/piskvorky/gensim.git", branch = "develop" }

[build-system]
requires = ["poetry-core"]
build-backend = "poetry.core.masonry.api"

to build and install current develop branch (or v4.3.2) with the command

docker build -t gensim-build:3.12 .

the result is a failure at the following build step:

running build_ext
building 'gensim.models.word2vec_inner' extension
creating build/temp.linux-x86_64-cpython-312
creating build/temp.linux-x86_64-cpython-312/gensim
creating build/temp.linux-x86_64-cpython-312/gensim/models
gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O3 -Wall -fPIC -I/tmp/tmp2ohmylfq/.venv/include -I/usr/local/include/python3.12 -I/tmp/tmp2ohmylfq/.venv/lib/python3.12/site-packages/numpy/_core/include -c gensim/models/word2vec_inner.c -o build/temp.linux-x86_64-cpython-312/gensim/models/word2vec_inner.o
In file included from /tmp/tmp2ohmylfq/.venv/lib/python3.12/site-packages/numpy/_core/include/numpy/ndarraytypes.h:1909,
                from /tmp/tmp2ohmylfq/.venv/lib/python3.12/site-packages/numpy/_core/include/numpy/ndarrayobject.h:12,
                from /tmp/tmp2ohmylfq/.venv/lib/python3.12/site-packages/numpy/_core/include/numpy/arrayobject.h:5,
                from gensim/models/word2vec_inner.c:771:
/tmp/tmp2ohmylfq/.venv/lib/python3.12/site-packages/numpy/_core/include/numpy/npy_1_7_deprecated_api.h:17:2: warning: #warning "Using deprecated NumPy API, disable it with " "#define NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION" [-Wcpp]
17 | #warning "Using deprecated NumPy API, disable it with " \
    |  ^~~~~~~
In file included from /usr/local/include/python3.12/Python.h:38,
                from gensim/models/word2vec_inner.c:25:
gensim/models/word2vec_inner.c: In function ‘__pyx_f_5numpy_PyDataType_SHAPE’:
gensim/models/word2vec_inner.c:9365:39: error: ‘PyArray_Descr’ {aka ‘struct _PyArray_Descr’} has no member named ‘subarray’
9365 |     __Pyx_INCREF(((PyObject*)__pyx_v_d->subarray->shape));
    |                                       ^~
/usr/local/include/python3.12/pyport.h:24:38: note: in definition of macro ‘_Py_CAST’
24 | #define _Py_CAST(type, expr) ((type)(expr))
    |                                      ^~~~
/usr/local/include/python3.12/object.h:661:35: note: in expansion of macro ‘_PyObject_CAST’
661 | #  define Py_INCREF(op) Py_INCREF(_PyObject_CAST(op))
    |                                   ^~~~~~~~~~~~~~
gensim/models/word2vec_inner.c:1435:27: note: in expansion of macro ‘Py_INCREF’
1435 |   #define __Pyx_INCREF(r) Py_INCREF(r)
    |                           ^~~~~~~~~
gensim/models/word2vec_inner.c:9365:5: note: in expansion of macro ‘__Pyx_INCREF’
9365 |     __Pyx_INCREF(((PyObject*)__pyx_v_d->subarray->shape));
    |     ^~~~~~~~~~~~
gensim/models/word2vec_inner.c:9366:36: error: ‘PyArray_Descr’ {aka ‘struct _PyArray_Descr’} has no member named ‘subarray’
9366 |     __pyx_r = ((PyObject*)__pyx_v_d->subarray->shape);
    |                                    ^~
error: command '/usr/bin/gcc' failed with exit code 1

(I thought this was something to do with the Numpy 2.0 release, but the current develop branch has already pinned Numpy to <2.0. So it seems something else than Numpy is causing this.)

The dependencies by Poetry resolution are the same as by pip.

When using Python 3.11 the installation is successful with Poetry, and the dependencies are the same.

Versions

Python 3.12.4
Poetry 1.8.3

@juhoinkinen
Copy link
Author

See full logs from the Poetry run here (note the apparently harmless warnings)
[+] Building 485.8s (8/8) FINISHED                                                                                                                                        docker:default
=> [internal] load build definition from Dockerfile                                                                                                                                0.0s
=> => transferring dockerfile: 163B                                                                                                                                                0.0s
=> [internal] load metadata for docker.io/library/python:3.12                                                                                                                      0.0s
=> [internal] load .dockerignore                                                                                                                                                   0.0s
=> => transferring context: 2B                                                                                                                                                     0.0s
=> [1/4] FROM docker.io/library/python:3.12                                                                                                                                        0.2s
=> [internal] load build context                                                                                                                                                   0.1s
=> => transferring context: 36B                                                                                                                                                    0.0s
=> [2/4] RUN pip install --upgrade pip poetry --no-cache-dir                                                                                                                      36.7s
=> [3/4] COPY pyproject.toml pyproject.toml                                                                                                                                        0.1s
=> ERROR [4/4] RUN poetry install                                                                                                                                                448.7s
------
> [4/4] RUN poetry install:
1.091 Creating virtualenv gensim-testing-il7asoJj-py3.12 in /root/.cache/pypoetry/virtualenvs
1.597 Updating dependencies
1.597 Resolving dependencies...
369.7
369.7 Package operations: 5 installs, 0 updates, 0 removals
369.7
369.7   - Installing numpy (1.26.4)
369.7   - Installing wrapt (1.16.0)
385.8   - Installing scipy (1.14.0)
385.8   - Installing smart-open (7.0.4)
422.7   - Installing gensim (4.3.2.dev0 dc5b5c4)
447.5
447.5   ChefBuildError
447.5
447.5   Backend subprocess exited when trying to invoke build_wheel
447.5
447.5   running bdist_wheel
447.5   running build
447.5   running build_py
447.5   creating build
447.5   creating build/lib.linux-x86_64-cpython-312
447.5   creating build/lib.linux-x86_64-cpython-312/gensim
447.5   copying gensim/utils.py -> build/lib.linux-x86_64-cpython-312/gensim
447.5   copying gensim/matutils.py -> build/lib.linux-x86_64-cpython-312/gensim
447.5   copying gensim/nosy.py -> build/lib.linux-x86_64-cpython-312/gensim
447.5   copying gensim/interfaces.py -> build/lib.linux-x86_64-cpython-312/gensim
447.5   copying gensim/downloader.py -> build/lib.linux-x86_64-cpython-312/gensim
447.5   copying gensim/__init__.py -> build/lib.linux-x86_64-cpython-312/gensim
447.5   creating build/lib.linux-x86_64-cpython-312/gensim/scripts
447.5   copying gensim/scripts/segment_wiki.py -> build/lib.linux-x86_64-cpython-312/gensim/scripts
447.5   copying gensim/scripts/glove2word2vec.py -> build/lib.linux-x86_64-cpython-312/gensim/scripts
447.5   copying gensim/scripts/package_info.py -> build/lib.linux-x86_64-cpython-312/gensim/scripts
447.5   copying gensim/scripts/word2vec_standalone.py -> build/lib.linux-x86_64-cpython-312/gensim/scripts
447.5   copying gensim/scripts/word2vec2tensor.py -> build/lib.linux-x86_64-cpython-312/gensim/scripts
447.5   copying gensim/scripts/make_wiki_online_nodebug.py -> build/lib.linux-x86_64-cpython-312/gensim/scripts
447.5   copying gensim/scripts/make_wiki_online.py -> build/lib.linux-x86_64-cpython-312/gensim/scripts
447.5   copying gensim/scripts/make_wikicorpus.py -> build/lib.linux-x86_64-cpython-312/gensim/scripts
447.5   copying gensim/scripts/make_wiki.py -> build/lib.linux-x86_64-cpython-312/gensim/scripts
447.5   copying gensim/scripts/__init__.py -> build/lib.linux-x86_64-cpython-312/gensim/scripts
447.5   copying gensim/scripts/benchmark.py -> build/lib.linux-x86_64-cpython-312/gensim/scripts
447.5   creating build/lib.linux-x86_64-cpython-312/gensim/test
447.5   copying gensim/test/test_lee.py -> build/lib.linux-x86_64-cpython-312/gensim/test
447.5   copying gensim/test/utils.py -> build/lib.linux-x86_64-cpython-312/gensim/test
447.5   copying gensim/test/test_translation_matrix.py -> build/lib.linux-x86_64-cpython-312/gensim/test
447.5   copying gensim/test/test_nmf.py -> build/lib.linux-x86_64-cpython-312/gensim/test
447.5   copying gensim/test/test_keyedvectors.py -> build/lib.linux-x86_64-cpython-312/gensim/test
447.5   copying gensim/test/test_datatype.py -> build/lib.linux-x86_64-cpython-312/gensim/test
447.5   copying gensim/test/test_doc2vec.py -> build/lib.linux-x86_64-cpython-312/gensim/test
447.5   copying gensim/test/simspeed2.py -> build/lib.linux-x86_64-cpython-312/gensim/test
447.5   copying gensim/test/test_scripts.py -> build/lib.linux-x86_64-cpython-312/gensim/test
447.5   copying gensim/test/test_tfidfmodel.py -> build/lib.linux-x86_64-cpython-312/gensim/test
447.5   copying gensim/test/test_parsing.py -> build/lib.linux-x86_64-cpython-312/gensim/test
447.5   copying gensim/test/test_normmodel.py -> build/lib.linux-x86_64-cpython-312/gensim/test
447.5   copying gensim/test/test_bm25model.py -> build/lib.linux-x86_64-cpython-312/gensim/test
447.5   copying gensim/test/simspeed.py -> build/lib.linux-x86_64-cpython-312/gensim/test
447.5   copying gensim/test/test_poincare.py -> build/lib.linux-x86_64-cpython-312/gensim/test
447.5   copying gensim/test/test_direct_confirmation.py -> build/lib.linux-x86_64-cpython-312/gensim/test
447.5   copying gensim/test/test_lsimodel.py -> build/lib.linux-x86_64-cpython-312/gensim/test
447.5   copying gensim/test/test_word2vec.py -> build/lib.linux-x86_64-cpython-312/gensim/test
447.5   copying gensim/test/test_probability_estimation.py -> build/lib.linux-x86_64-cpython-312/gensim/test
447.5   copying gensim/test/test_miislita.py -> build/lib.linux-x86_64-cpython-312/gensim/test
447.5   copying gensim/test/test_utils.py -> build/lib.linux-x86_64-cpython-312/gensim/test
447.5   copying gensim/test/test_ldamodel.py -> build/lib.linux-x86_64-cpython-312/gensim/test
447.5   copying gensim/test/test_similarities.py -> build/lib.linux-x86_64-cpython-312/gensim/test
447.5   copying gensim/test/test_atmodel.py -> build/lib.linux-x86_64-cpython-312/gensim/test
447.5   copying gensim/test/test_ensemblelda.py -> build/lib.linux-x86_64-cpython-312/gensim/test
447.5   copying gensim/test/test_corpora_dictionary.py -> build/lib.linux-x86_64-cpython-312/gensim/test
447.5   copying gensim/test/test_glove2word2vec.py -> build/lib.linux-x86_64-cpython-312/gensim/test
447.5   copying gensim/test/test_hdpmodel.py -> build/lib.linux-x86_64-cpython-312/gensim/test
447.5   copying gensim/test/test_api.py -> build/lib.linux-x86_64-cpython-312/gensim/test
447.5   copying gensim/test/svd_error.py -> build/lib.linux-x86_64-cpython-312/gensim/test
447.5   copying gensim/test/test_tmdiff.py -> build/lib.linux-x86_64-cpython-312/gensim/test
447.5   copying gensim/test/test_text_analysis.py -> build/lib.linux-x86_64-cpython-312/gensim/test
447.5   copying gensim/test/test_similarity_metrics.py -> build/lib.linux-x86_64-cpython-312/gensim/test
447.5   copying gensim/test/test_rpmodel.py -> build/lib.linux-x86_64-cpython-312/gensim/test
447.5   copying gensim/test/test_matutils.py -> build/lib.linux-x86_64-cpython-312/gensim/test
447.5   copying gensim/test/test_sharded_corpus.py -> build/lib.linux-x86_64-cpython-312/gensim/test
447.5   copying gensim/test/test_indirect_confirmation.py -> build/lib.linux-x86_64-cpython-312/gensim/test
447.5   copying gensim/test/test_lda_callback.py -> build/lib.linux-x86_64-cpython-312/gensim/test
447.5   copying gensim/test/test_phrases.py -> build/lib.linux-x86_64-cpython-312/gensim/test
447.5   copying gensim/test/test_big.py -> build/lib.linux-x86_64-cpython-312/gensim/test
447.5   copying gensim/test/test_coherencemodel.py -> build/lib.linux-x86_64-cpython-312/gensim/test
447.5   copying gensim/test/test_corpora_hashdictionary.py -> build/lib.linux-x86_64-cpython-312/gensim/test
447.5   copying gensim/test/test_segmentation.py -> build/lib.linux-x86_64-cpython-312/gensim/test
447.5   copying gensim/test/test_fasttext.py -> build/lib.linux-x86_64-cpython-312/gensim/test
447.5   copying gensim/test/test_corpora.py -> build/lib.linux-x86_64-cpython-312/gensim/test
447.5   copying gensim/test/basetmtests.py -> build/lib.linux-x86_64-cpython-312/gensim/test
447.5   copying gensim/test/test_aggregation.py -> build/lib.linux-x86_64-cpython-312/gensim/test
447.5   copying gensim/test/test_logentropy_model.py -> build/lib.linux-x86_64-cpython-312/gensim/test
447.5   copying gensim/test/__init__.py -> build/lib.linux-x86_64-cpython-312/gensim/test
447.5   copying gensim/test/test_ldaseqmodel.py -> build/lib.linux-x86_64-cpython-312/gensim/test
447.5   creating build/lib.linux-x86_64-cpython-312/gensim/topic_coherence
447.5   copying gensim/topic_coherence/indirect_confirmation_measure.py -> build/lib.linux-x86_64-cpython-312/gensim/topic_coherence
447.5   copying gensim/topic_coherence/direct_confirmation_measure.py -> build/lib.linux-x86_64-cpython-312/gensim/topic_coherence
447.5   copying gensim/topic_coherence/aggregation.py -> build/lib.linux-x86_64-cpython-312/gensim/topic_coherence
447.5   copying gensim/topic_coherence/text_analysis.py -> build/lib.linux-x86_64-cpython-312/gensim/topic_coherence
447.5   copying gensim/topic_coherence/segmentation.py -> build/lib.linux-x86_64-cpython-312/gensim/topic_coherence
447.5   copying gensim/topic_coherence/probability_estimation.py -> build/lib.linux-x86_64-cpython-312/gensim/topic_coherence
447.5   copying gensim/topic_coherence/__init__.py -> build/lib.linux-x86_64-cpython-312/gensim/topic_coherence
447.5   creating build/lib.linux-x86_64-cpython-312/gensim/models
447.5   copying gensim/models/keyedvectors.py -> build/lib.linux-x86_64-cpython-312/gensim/models
447.5   copying gensim/models/lsi_worker.py -> build/lib.linux-x86_64-cpython-312/gensim/models
447.5   copying gensim/models/hdpmodel.py -> build/lib.linux-x86_64-cpython-312/gensim/models
447.5   copying gensim/models/lda_dispatcher.py -> build/lib.linux-x86_64-cpython-312/gensim/models
447.5   copying gensim/models/normmodel.py -> build/lib.linux-x86_64-cpython-312/gensim/models
447.5   copying gensim/models/lsimodel.py -> build/lib.linux-x86_64-cpython-312/gensim/models
447.5   copying gensim/models/basemodel.py -> build/lib.linux-x86_64-cpython-312/gensim/models
447.5   copying gensim/models/lsi_dispatcher.py -> build/lib.linux-x86_64-cpython-312/gensim/models
447.5   copying gensim/models/callbacks.py -> build/lib.linux-x86_64-cpython-312/gensim/models
447.5   copying gensim/models/fasttext.py -> build/lib.linux-x86_64-cpython-312/gensim/models
447.5   copying gensim/models/rpmodel.py -> build/lib.linux-x86_64-cpython-312/gensim/models
447.5   copying gensim/models/lda_worker.py -> build/lib.linux-x86_64-cpython-312/gensim/models
447.5   copying gensim/models/phrases.py -> build/lib.linux-x86_64-cpython-312/gensim/models
447.5   copying gensim/models/bm25model.py -> build/lib.linux-x86_64-cpython-312/gensim/models
447.5   copying gensim/models/logentropy_model.py -> build/lib.linux-x86_64-cpython-312/gensim/models
447.5   copying gensim/models/ensemblelda.py -> build/lib.linux-x86_64-cpython-312/gensim/models
447.5   copying gensim/models/translation_matrix.py -> build/lib.linux-x86_64-cpython-312/gensim/models
447.5   copying gensim/models/ldaseqmodel.py -> build/lib.linux-x86_64-cpython-312/gensim/models
447.5   copying gensim/models/word2vec.py -> build/lib.linux-x86_64-cpython-312/gensim/models
447.5   copying gensim/models/atmodel.py -> build/lib.linux-x86_64-cpython-312/gensim/models
447.5   copying gensim/models/poincare.py -> build/lib.linux-x86_64-cpython-312/gensim/models
447.5   copying gensim/models/tfidfmodel.py -> build/lib.linux-x86_64-cpython-312/gensim/models
447.5   copying gensim/models/coherencemodel.py -> build/lib.linux-x86_64-cpython-312/gensim/models
447.5   copying gensim/models/nmf.py -> build/lib.linux-x86_64-cpython-312/gensim/models
447.5   copying gensim/models/doc2vec.py -> build/lib.linux-x86_64-cpython-312/gensim/models
447.5   copying gensim/models/ldamodel.py -> build/lib.linux-x86_64-cpython-312/gensim/models
447.5   copying gensim/models/ldamulticore.py -> build/lib.linux-x86_64-cpython-312/gensim/models
447.5   copying gensim/models/__init__.py -> build/lib.linux-x86_64-cpython-312/gensim/models
447.5   copying gensim/models/_fasttext_bin.py -> build/lib.linux-x86_64-cpython-312/gensim/models
447.5   creating build/lib.linux-x86_64-cpython-312/gensim/similarities
447.5   copying gensim/similarities/nmslib.py -> build/lib.linux-x86_64-cpython-312/gensim/similarities
447.5   copying gensim/similarities/docsim.py -> build/lib.linux-x86_64-cpython-312/gensim/similarities
447.5   copying gensim/similarities/levenshtein.py -> build/lib.linux-x86_64-cpython-312/gensim/similarities
447.5   copying gensim/similarities/termsim.py -> build/lib.linux-x86_64-cpython-312/gensim/similarities
447.5   copying gensim/similarities/annoy.py -> build/lib.linux-x86_64-cpython-312/gensim/similarities
447.5   copying gensim/similarities/__init__.py -> build/lib.linux-x86_64-cpython-312/gensim/similarities
447.5   creating build/lib.linux-x86_64-cpython-312/gensim/parsing
447.5   copying gensim/parsing/preprocessing.py -> build/lib.linux-x86_64-cpython-312/gensim/parsing
447.5   copying gensim/parsing/porter.py -> build/lib.linux-x86_64-cpython-312/gensim/parsing
447.5   copying gensim/parsing/__init__.py -> build/lib.linux-x86_64-cpython-312/gensim/parsing
447.5   creating build/lib.linux-x86_64-cpython-312/gensim/corpora
447.5   copying gensim/corpora/svmlightcorpus.py -> build/lib.linux-x86_64-cpython-312/gensim/corpora
447.5   copying gensim/corpora/opinosiscorpus.py -> build/lib.linux-x86_64-cpython-312/gensim/corpora
447.5   copying gensim/corpora/hashdictionary.py -> build/lib.linux-x86_64-cpython-312/gensim/corpora
447.5   copying gensim/corpora/wikicorpus.py -> build/lib.linux-x86_64-cpython-312/gensim/corpora
447.5   copying gensim/corpora/mmcorpus.py -> build/lib.linux-x86_64-cpython-312/gensim/corpora
447.5   copying gensim/corpora/lowcorpus.py -> build/lib.linux-x86_64-cpython-312/gensim/corpora
447.5   copying gensim/corpora/csvcorpus.py -> build/lib.linux-x86_64-cpython-312/gensim/corpora
447.5   copying gensim/corpora/bleicorpus.py -> build/lib.linux-x86_64-cpython-312/gensim/corpora
447.5   copying gensim/corpora/dictionary.py -> build/lib.linux-x86_64-cpython-312/gensim/corpora
447.5   copying gensim/corpora/ucicorpus.py -> build/lib.linux-x86_64-cpython-312/gensim/corpora
447.5   copying gensim/corpora/indexedcorpus.py -> build/lib.linux-x86_64-cpython-312/gensim/corpora
447.5   copying gensim/corpora/sharded_corpus.py -> build/lib.linux-x86_64-cpython-312/gensim/corpora
447.5   copying gensim/corpora/malletcorpus.py -> build/lib.linux-x86_64-cpython-312/gensim/corpora
447.5   copying gensim/corpora/__init__.py -> build/lib.linux-x86_64-cpython-312/gensim/corpora
447.5   copying gensim/corpora/textcorpus.py -> build/lib.linux-x86_64-cpython-312/gensim/corpora
447.5   running egg_info
447.5   writing gensim.egg-info/PKG-INFO
447.5   writing dependency_links to gensim.egg-info/dependency_links.txt
447.5   writing requirements to gensim.egg-info/requires.txt
447.5   writing top-level names to gensim.egg-info/top_level.txt
447.5   reading manifest file 'gensim.egg-info/SOURCES.txt'
447.5   reading manifest template 'MANIFEST.in'
447.5   adding license file 'COPYING'
447.5   writing manifest file 'gensim.egg-info/SOURCES.txt'
447.5   /tmp/tmpcsk1p7k4/.venv/lib/python3.12/site-packages/setuptools/command/build_py.py:215: _Warning: Package 'gensim.test.test_data' is absent from the `packages` configuration.
447.5   !!
447.5
447.5           ********************************************************************************
447.5           ############################
447.5           # Package would be ignored #
447.5           ############################
447.5           Python recognizes 'gensim.test.test_data' as an importable package[^1],
447.5           but it is absent from setuptools' `packages` configuration.
447.5
447.5           This leads to an ambiguous overall configuration. If you want to distribute this
447.5           package, please make sure that 'gensim.test.test_data' is explicitly added
447.5           to the `packages` configuration field.
447.5
447.5           Alternatively, you can also rely on setuptools' discovery methods
447.5           (for example by using `find_namespace_packages(...)`/`find_namespace:`
447.5           instead of `find_packages(...)`/`find:`).
447.5
447.5           You can read more about "package discovery" on setuptools documentation page:
447.5
447.5           - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html
447.5
447.5           If you don't want 'gensim.test.test_data' to be distributed and are
447.5           already explicitly excluding 'gensim.test.test_data' via
447.5           `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`,
447.5           you can try to use `exclude_package_data`, or `include-package-data=False` in
447.5           combination with a more fine grained `package-data` configuration.
447.5
447.5           You can read more about "package data files" on setuptools documentation page:
447.5
447.5           - https://setuptools.pypa.io/en/latest/userguide/datafiles.html
447.5
447.5
447.5           [^1]: For Python, any directory (with suitable naming) can be imported,
447.5                 even if it does not contain any `.py` files.
447.5                 On the other hand, currently there is no concept of package data
447.5                 directory, all directories are treated like packages.
447.5           ********************************************************************************
447.5
447.5   !!
447.5     check.warn(importable)
447.5   /tmp/tmpcsk1p7k4/.venv/lib/python3.12/site-packages/setuptools/command/build_py.py:215: _Warning: Package 'gensim.test.test_data.DTM' is absent from the `packages` configuration.
447.5   !!
447.5
447.5           ********************************************************************************
447.5           ############################
447.5           # Package would be ignored #
447.5           ############################
447.5           Python recognizes 'gensim.test.test_data.DTM' as an importable package[^1],
447.5           but it is absent from setuptools' `packages` configuration.
447.5
447.5           This leads to an ambiguous overall configuration. If you want to distribute this
447.5           package, please make sure that 'gensim.test.test_data.DTM' is explicitly added
447.5           to the `packages` configuration field.
447.5
447.5           Alternatively, you can also rely on setuptools' discovery methods
447.5           (for example by using `find_namespace_packages(...)`/`find_namespace:`
447.5           instead of `find_packages(...)`/`find:`).
447.5
447.5           You can read more about "package discovery" on setuptools documentation page:
447.5
447.5           - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html
447.5
447.5           If you don't want 'gensim.test.test_data.DTM' to be distributed and are
447.5           already explicitly excluding 'gensim.test.test_data.DTM' via
447.5           `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`,
447.5           you can try to use `exclude_package_data`, or `include-package-data=False` in
447.5           combination with a more fine grained `package-data` configuration.
447.5
447.5           You can read more about "package data files" on setuptools documentation page:
447.5
447.5           - https://setuptools.pypa.io/en/latest/userguide/datafiles.html
447.5
447.5
447.5           [^1]: For Python, any directory (with suitable naming) can be imported,
447.5                 even if it does not contain any `.py` files.
447.5                 On the other hand, currently there is no concept of package data
447.5                 directory, all directories are treated like packages.
447.5           ********************************************************************************
447.5
447.5   !!
447.5     check.warn(importable)
447.5   /tmp/tmpcsk1p7k4/.venv/lib/python3.12/site-packages/setuptools/command/build_py.py:215: _Warning: Package 'gensim.test.test_data.PathLineSentences' is absent from the `packages` configuration.
447.5   !!
447.5
447.5           ********************************************************************************
447.5           ############################
447.5           # Package would be ignored #
447.5           ############################
447.5           Python recognizes 'gensim.test.test_data.PathLineSentences' as an importable package[^1],
447.5           but it is absent from setuptools' `packages` configuration.
447.5
447.5           This leads to an ambiguous overall configuration. If you want to distribute this
447.5           package, please make sure that 'gensim.test.test_data.PathLineSentences' is explicitly added
447.5           to the `packages` configuration field.
447.5
447.5           Alternatively, you can also rely on setuptools' discovery methods
447.5           (for example by using `find_namespace_packages(...)`/`find_namespace:`
447.5           instead of `find_packages(...)`/`find:`).
447.5
447.5           You can read more about "package discovery" on setuptools documentation page:
447.5
447.5           - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html
447.5
447.5           If you don't want 'gensim.test.test_data.PathLineSentences' to be distributed and are
447.5           already explicitly excluding 'gensim.test.test_data.PathLineSentences' via
447.5           `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`,
447.5           you can try to use `exclude_package_data`, or `include-package-data=False` in
447.5           combination with a more fine grained `package-data` configuration.
447.5
447.5           You can read more about "package data files" on setuptools documentation page:
447.5
447.5           - https://setuptools.pypa.io/en/latest/userguide/datafiles.html
447.5
447.5
447.5           [^1]: For Python, any directory (with suitable naming) can be imported,
447.5                 even if it does not contain any `.py` files.
447.5                 On the other hand, currently there is no concept of package data
447.5                 directory, all directories are treated like packages.
447.5           ********************************************************************************
447.5
447.5   !!
447.5     check.warn(importable)
447.5   /tmp/tmpcsk1p7k4/.venv/lib/python3.12/site-packages/setuptools/command/build_py.py:215: _Warning: Package 'gensim.test.test_data.old_d2v_models' is absent from the `packages` configuration.
447.5   !!
447.5
447.5           ********************************************************************************
447.5           ############################
447.5           # Package would be ignored #
447.5           ############################
447.5           Python recognizes 'gensim.test.test_data.old_d2v_models' as an importable package[^1],
447.5           but it is absent from setuptools' `packages` configuration.
447.5
447.5           This leads to an ambiguous overall configuration. If you want to distribute this
447.5           package, please make sure that 'gensim.test.test_data.old_d2v_models' is explicitly added
447.5           to the `packages` configuration field.
447.5
447.5           Alternatively, you can also rely on setuptools' discovery methods
447.5           (for example by using `find_namespace_packages(...)`/`find_namespace:`
447.5           instead of `find_packages(...)`/`find:`).
447.5
447.5           You can read more about "package discovery" on setuptools documentation page:
447.5
447.5           - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html
447.5
447.5           If you don't want 'gensim.test.test_data.old_d2v_models' to be distributed and are
447.5           already explicitly excluding 'gensim.test.test_data.old_d2v_models' via
447.5           `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`,
447.5           you can try to use `exclude_package_data`, or `include-package-data=False` in
447.5           combination with a more fine grained `package-data` configuration.
447.5
447.5           You can read more about "package data files" on setuptools documentation page:
447.5
447.5           - https://setuptools.pypa.io/en/latest/userguide/datafiles.html
447.5
447.5
447.5           [^1]: For Python, any directory (with suitable naming) can be imported,
447.5                 even if it does not contain any `.py` files.
447.5                 On the other hand, currently there is no concept of package data
447.5                 directory, all directories are treated like packages.
447.5           ********************************************************************************
447.5
447.5   !!
447.5     check.warn(importable)
447.5   /tmp/tmpcsk1p7k4/.venv/lib/python3.12/site-packages/setuptools/command/build_py.py:215: _Warning: Package 'gensim.test.test_data.old_w2v_models' is absent from the `packages` configuration.
447.5   !!
447.5
447.5           ********************************************************************************
447.5           ############################
447.5           # Package would be ignored #
447.5           ############################
447.5           Python recognizes 'gensim.test.test_data.old_w2v_models' as an importable package[^1],
447.5           but it is absent from setuptools' `packages` configuration.
447.5
447.5           This leads to an ambiguous overall configuration. If you want to distribute this
447.5           package, please make sure that 'gensim.test.test_data.old_w2v_models' is explicitly added
447.5           to the `packages` configuration field.
447.5
447.5           Alternatively, you can also rely on setuptools' discovery methods
447.5           (for example by using `find_namespace_packages(...)`/`find_namespace:`
447.5           instead of `find_packages(...)`/`find:`).
447.5
447.5           You can read more about "package discovery" on setuptools documentation page:
447.5
447.5           - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html
447.5
447.5           If you don't want 'gensim.test.test_data.old_w2v_models' to be distributed and are
447.5           already explicitly excluding 'gensim.test.test_data.old_w2v_models' via
447.5           `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`,
447.5           you can try to use `exclude_package_data`, or `include-package-data=False` in
447.5           combination with a more fine grained `package-data` configuration.
447.5
447.5           You can read more about "package data files" on setuptools documentation page:
447.5
447.5           - https://setuptools.pypa.io/en/latest/userguide/datafiles.html
447.5
447.5
447.5           [^1]: For Python, any directory (with suitable naming) can be imported,
447.5                 even if it does not contain any `.py` files.
447.5                 On the other hand, currently there is no concept of package data
447.5                 directory, all directories are treated like packages.
447.5           ********************************************************************************
447.5
447.5   !!
447.5     check.warn(importable)
447.5   copying gensim/_matutils.c -> build/lib.linux-x86_64-cpython-312/gensim
447.5   copying gensim/_matutils.pyx -> build/lib.linux-x86_64-cpython-312/gensim
447.5   creating build/lib.linux-x86_64-cpython-312/gensim/test/test_data
447.5   copying gensim/test/test_data/EN.1-10.cbow1_wind5_hs0_neg10_size300_smpl1e-05.txt -> build/lib.linux-x86_64-cpython-312/gensim/test/test_data
447.5   copying gensim/test/test_data/IT.1-10.cbow1_wind5_hs0_neg10_size300_smpl1e-05.txt -> build/lib.linux-x86_64-cpython-312/gensim/test/test_data
447.5   copying gensim/test/test_data/OPUS_en_it_europarl_train_one2ten.txt -> build/lib.linux-x86_64-cpython-312/gensim/test/test_data
447.5   copying gensim/test/test_data/alldata-id-10.txt -> build/lib.linux-x86_64-cpython-312/gensim/test/test_data
447.5   copying gensim/test/test_data/atmodel_3_0_1_model -> build/lib.linux-x86_64-cpython-312/gensim/test/test_data
447.5   copying gensim/test/test_data/atmodel_3_0_1_model.expElogbeta.npy -> build/lib.linux-x86_64-cpython-312/gensim/test/test_data
447.5   copying gensim/test/test_data/atmodel_3_0_1_model.id2word -> build/lib.linux-x86_64-cpython-312/gensim/test/test_data
447.5   copying gensim/test/test_data/atmodel_3_0_1_model.state -> build/lib.linux-x86_64-cpython-312/gensim/test/test_data
447.5   copying gensim/test/test_data/bgwiki-latest-pages-articles-shortened.xml.bz2 -> build/lib.linux-x86_64-cpython-312/gensim/test/test_data
447.5   copying gensim/test/test_data/compatible-hash-true.model -> build/lib.linux-x86_64-cpython-312/gensim/test/test_data
447.5   copying gensim/test/test_data/cp852_fasttext.bin -> build/lib.linux-x86_64-cpython-312/gensim/test/test_data
447.5   copying gensim/test/test_data/crime-and-punishment.bin -> build/lib.linux-x86_64-cpython-312/gensim/test/test_data
447.5   copying gensim/test/test_data/crime-and-punishment.txt -> build/lib.linux-x86_64-cpython-312/gensim/test/test_data
447.5   copying gensim/test/test_data/crime-and-punishment.vec -> build/lib.linux-x86_64-cpython-312/gensim/test/test_data
447.5   copying gensim/test/test_data/d2v-lee-v0.13.0 -> build/lib.linux-x86_64-cpython-312/gensim/test/test_data
447.5   copying gensim/test/test_data/doc2vec_old -> build/lib.linux-x86_64-cpython-312/gensim/test/test_data
447.5   copying gensim/test/test_data/doc2vec_old_sep -> build/lib.linux-x86_64-cpython-312/gensim/test/test_data
447.5   copying gensim/test/test_data/doc2vec_old_sep.syn0_lockf.npy -> build/lib.linux-x86_64-cpython-312/gensim/test/test_data
447.5   copying gensim/test/test_data/doc2vec_old_sep.syn1neg.npy -> build/lib.linux-x86_64-cpython-312/gensim/test/test_data
447.5   copying gensim/test/test_data/dtm_test.dict -> build/lib.linux-x86_64-cpython-312/gensim/test/test_data
447.5   copying gensim/test/test_data/dtm_test.mm -> build/lib.linux-x86_64-cpython-312/gensim/test/test_data
447.5   copying gensim/test/test_data/ensemblelda -> build/lib.linux-x86_64-cpython-312/gensim/test/test_data
447.5   copying gensim/test/test_data/enwiki-latest-pages-articles1.xml-p000000010p000030302-shortened.bz2 -> build/lib.linux-x86_64-cpython-312/gensim/test/test_data
447.5   copying gensim/test/test_data/enwiki-table-markup.xml.bz2 -> build/lib.linux-x86_64-cpython-312/gensim/test/test_data
447.5   copying gensim/test/test_data/euclidean_vectors.bin -> build/lib.linux-x86_64-cpython-312/gensim/test/test_data
447.5   copying gensim/test/test_data/fasttext_old -> build/lib.linux-x86_64-cpython-312/gensim/test/test_data
447.5   copying gensim/test/test_data/fasttext_old_sep -> build/lib.linux-x86_64-cpython-312/gensim/test/test_data
447.5   copying gensim/test/test_data/fasttext_old_sep.syn0_lockf.npy -> build/lib.linux-x86_64-cpython-312/gensim/test/test_data
447.5   copying gensim/test/test_data/fasttext_old_sep.syn1neg.npy -> build/lib.linux-x86_64-cpython-312/gensim/test/test_data
447.5   copying gensim/test/test_data/fb-ngrams.txt -> build/lib.linux-x86_64-cpython-312/gensim/test/test_data
447.5   copying gensim/test/test_data/ft_kv_3.6.0.model.gz -> build/lib.linux-x86_64-cpython-312/gensim/test/test_data
447.5   copying gensim/test/test_data/ft_model_2.3.0 -> build/lib.linux-x86_64-cpython-312/gensim/test/test_data
447.5   copying gensim/test/test_data/head500.noblanks.cor -> build/lib.linux-x86_64-cpython-312/gensim/test/test_data
447.5   copying gensim/test/test_data/head500.noblanks.cor.bz2 -> build/lib.linux-x86_64-cpython-312/gensim/test/test_data
447.5   copying gensim/test/test_data/head500.noblanks.cor_tfidf.model -> build/lib.linux-x86_64-cpython-312/gensim/test/test_data
447.5   copying gensim/test/test_data/head500.noblanks.cor_wordids.txt -> build/lib.linux-x86_64-cpython-312/gensim/test/test_data
447.5   copying gensim/test/test_data/high_precision.kv.bin -> build/lib.linux-x86_64-cpython-312/gensim/test/test_data
447.5   copying gensim/test/test_data/high_precision.kv.txt -> build/lib.linux-x86_64-cpython-312/gensim/test/test_data
447.5   copying gensim/test/test_data/large_tag_doc_10_iter50 -> build/lib.linux-x86_64-cpython-312/gensim/test/test_data
447.5   copying gensim/test/test_data/lda_3_0_1_model -> build/lib.linux-x86_64-cpython-312/gensim/test/test_data
447.5   copying gensim/test/test_data/lda_3_0_1_model.expElogbeta.npy -> build/lib.linux-x86_64-cpython-312/gensim/test/test_data
447.5   copying gensim/test/test_data/lda_3_0_1_model.id2word -> build/lib.linux-x86_64-cpython-312/gensim/test/test_data
447.5   copying gensim/test/test_data/lda_3_0_1_model.state -> build/lib.linux-x86_64-cpython-312/gensim/test/test_data
447.5   copying gensim/test/test_data/ldamodel_python_2_7 -> build/lib.linux-x86_64-cpython-312/gensim/test/test_data
447.5   copying gensim/test/test_data/ldamodel_python_2_7.expElogbeta.npy -> build/lib.linux-x86_64-cpython-312/gensim/test/test_data
447.5   copying gensim/test/test_data/ldamodel_python_2_7.id2word -> build/lib.linux-x86_64-cpython-312/gensim/test/test_data
447.5   copying gensim/test/test_data/ldamodel_python_2_7.state -> build/lib.linux-x86_64-cpython-312/gensim/test/test_data
447.5   copying gensim/test/test_data/ldamodel_python_3_5 -> build/lib.linux-x86_64-cpython-312/gensim/test/test_data
447.5   copying gensim/test/test_data/ldamodel_python_3_5.expElogbeta.npy -> build/lib.linux-x86_64-cpython-312/gensim/test/test_data
447.5   copying gensim/test/test_data/ldamodel_python_3_5.id2word -> build/lib.linux-x86_64-cpython-312/gensim/test/test_data
447.5   copying gensim/test/test_data/ldamodel_python_3_5.state -> build/lib.linux-x86_64-cpython-312/gensim/test/test_data
447.5   copying gensim/test/test_data/ldavowpalwabbit.dict.txt -> build/lib.linux-x86_64-cpython-312/gensim/test/test_data
447.5   copying gensim/test/test_data/ldavowpalwabbit.txt -> build/lib.linux-x86_64-cpython-312/gensim/test/test_data
447.5   copying gensim/test/test_data/lee.cor -> build/lib.linux-x86_64-cpython-312/gensim/test/test_data
447.5   copying gensim/test/test_data/lee_background.cor -> build/lib.linux-x86_64-cpython-312/gensim/test/test_data
447.5   copying gensim/test/test_data/lee_fasttext -> build/lib.linux-x86_64-cpython-312/gensim/test/test_data
447.5   copying gensim/test/test_data/lee_fasttext.bin -> build/lib.linux-x86_64-cpython-312/gensim/test/test_data
447.5   copying gensim/test/test_data/lee_fasttext.vec -> build/lib.linux-x86_64-cpython-312/gensim/test/test_data
447.5   copying gensim/test/test_data/lee_fasttext_new.bin -> build/lib.linux-x86_64-cpython-312/gensim/test/test_data
447.5   copying gensim/test/test_data/miIslita.cor -> build/lib.linux-x86_64-cpython-312/gensim/test/test_data
447.5   copying gensim/test/test_data/mini_newsgroup -> build/lib.linux-x86_64-cpython-312/gensim/test/test_data
447.5   copying gensim/test/test_data/model-from-gensim-3.8.0.w2v -> build/lib.linux-x86_64-cpython-312/gensim/test/test_data
447.5   copying gensim/test/test_data/nmf_model -> build/lib.linux-x86_64-cpython-312/gensim/test/test_data
447.5   copying gensim/test/test_data/non_ascii_fasttext.bin -> build/lib.linux-x86_64-cpython-312/gensim/test/test_data
447.5   copying gensim/test/test_data/old_keyedvectors_320.dat -> build/lib.linux-x86_64-cpython-312/gensim/test/test_data
447.5   copying gensim/test/test_data/pang_lee_polarity.cor -> build/lib.linux-x86_64-cpython-312/gensim/test/test_data
447.5   copying gensim/test/test_data/pang_lee_polarity_fasttext.bin -> build/lib.linux-x86_64-cpython-312/gensim/test/test_data
447.5   copying gensim/test/test_data/pang_lee_polarity_fasttext.vec -> build/lib.linux-x86_64-cpython-312/gensim/test/test_data
447.5   copying gensim/test/test_data/para2para_text1.txt -> build/lib.linux-x86_64-cpython-312/gensim/test/test_data
447.5   copying gensim/test/test_data/para2para_text2.txt -> build/lib.linux-x86_64-cpython-312/gensim/test/test_data
447.5   copying gensim/test/test_data/phraser-3.6.0.model -> build/lib.linux-x86_64-cpython-312/gensim/test/test_data
447.5   copying gensim/test/test_data/phraser-no-common-terms.pkl -> build/lib.linux-x86_64-cpython-312/gensim/test/test_data
447.5   copying gensim/test/test_data/phraser-no-scoring.pkl -> build/lib.linux-x86_64-cpython-312/gensim/test/test_data
447.5   copying gensim/test/test_data/phraser-scoring-str.pkl -> build/lib.linux-x86_64-cpython-312/gensim/test/test_data
447.5   copying gensim/test/test_data/phrases-3.6.0.model -> build/lib.linux-x86_64-cpython-312/gensim/test/test_data
447.5   copying gensim/test/test_data/phrases-no-common-terms.pkl -> build/lib.linux-x86_64-cpython-312/gensim/test/test_data
447.5   copying gensim/test/test_data/phrases-no-scoring.pkl -> build/lib.linux-x86_64-cpython-312/gensim/test/test_data
447.5   copying gensim/test/test_data/phrases-scoring-str.pkl -> build/lib.linux-x86_64-cpython-312/gensim/test/test_data
447.5   copying gensim/test/test_data/poincare_cp852.tsv -> build/lib.linux-x86_64-cpython-312/gensim/test/test_data
447.5   copying gensim/test/test_data/poincare_hypernyms.tsv -> build/lib.linux-x86_64-cpython-312/gensim/test/test_data
447.5   copying gensim/test/test_data/poincare_hypernyms_large.tsv -> build/lib.linux-x86_64-cpython-312/gensim/test/test_data
447.5   copying gensim/test/test_data/poincare_test_3.4.0 -> build/lib.linux-x86_64-cpython-312/gensim/test/test_data
447.5   copying gensim/test/test_data/poincare_utf8.tsv -> build/lib.linux-x86_64-cpython-312/gensim/test/test_data
447.5   copying gensim/test/test_data/poincare_vectors.bin -> build/lib.linux-x86_64-cpython-312/gensim/test/test_data
447.5   copying gensim/test/test_data/pre_0_13_2_model -> build/lib.linux-x86_64-cpython-312/gensim/test/test_data
447.5   copying gensim/test/test_data/pre_0_13_2_model.state -> build/lib.linux-x86_64-cpython-312/gensim/test/test_data
447.5   copying gensim/test/test_data/pretrained.vec -> build/lib.linux-x86_64-cpython-312/gensim/test/test_data
447.5   copying gensim/test/test_data/questions-words.txt -> build/lib.linux-x86_64-cpython-312/gensim/test/test_data
447.5   copying gensim/test/test_data/reproduce.dat -> build/lib.linux-x86_64-cpython-312/gensim/test/test_data
447.5   copying gensim/test/test_data/reproduce.dat.gz -> build/lib.linux-x86_64-cpython-312/gensim/test/test_data
447.5   copying gensim/test/test_data/similarities0-1.txt -> build/lib.linux-x86_64-cpython-312/gensim/test/test_data
447.5   copying gensim/test/test_data/simlex999.txt -> build/lib.linux-x86_64-cpython-312/gensim/test/test_data
447.5   copying gensim/test/test_data/small_tag_doc_5_iter50 -> build/lib.linux-x86_64-cpython-312/gensim/test/test_data
447.5   copying gensim/test/test_data/test_corpus_ok.mm -> build/lib.linux-x86_64-cpython-312/gensim/test/test_data
447.5   copying gensim/test/test_data/test_corpus_small.mm -> build/lib.linux-x86_64-cpython-312/gensim/test/test_data
447.5   copying gensim/test/test_data/test_glove.txt -> build/lib.linux-x86_64-cpython-312/gensim/test/test_data
447.5   copying gensim/test/test_data/test_mmcorpus_corrupt.mm -> build/lib.linux-x86_64-cpython-312/gensim/test/test_data
447.5   copying gensim/test/test_data/test_mmcorpus_no_index.mm -> build/lib.linux-x86_64-cpython-312/gensim/test/test_data
447.5   copying gensim/test/test_data/test_mmcorpus_no_index.mm.bz2 -> build/lib.linux-x86_64-cpython-312/gensim/test/test_data
447.5   copying gensim/test/test_data/test_mmcorpus_no_index.mm.gz -> build/lib.linux-x86_64-cpython-312/gensim/test/test_data
447.5   copying gensim/test/test_data/test_mmcorpus_overflow.mm -> build/lib.linux-x86_64-cpython-312/gensim/test/test_data
447.5   copying gensim/test/test_data/test_mmcorpus_with_index.mm -> build/lib.linux-x86_64-cpython-312/gensim/test/test_data
447.5   copying gensim/test/test_data/test_mmcorpus_with_index.mm.index -> build/lib.linux-x86_64-cpython-312/gensim/test/test_data
447.5   copying gensim/test/test_data/testcorpus.blei -> build/lib.linux-x86_64-cpython-312/gensim/test/test_data
447.5   copying gensim/test/test_data/testcorpus.blei.index -> build/lib.linux-x86_64-cpython-312/gensim/test/test_data
447.5   copying gensim/test/test_data/testcorpus.blei.vocab -> build/lib.linux-x86_64-cpython-312/gensim/test/test_data
447.5   copying gensim/test/test_data/testcorpus.low -> build/lib.linux-x86_64-cpython-312/gensim/test/test_data
447.5   copying gensim/test/test_data/testcorpus.low.index -> build/lib.linux-x86_64-cpython-312/gensim/test/test_data
447.5   copying gensim/test/test_data/testcorpus.mallet -> build/lib.linux-x86_64-cpython-312/gensim/test/test_data
447.5   copying gensim/test/test_data/testcorpus.mallet.index -> build/lib.linux-x86_64-cpython-312/gensim/test/test_data
447.5   copying gensim/test/test_data/testcorpus.mm -> build/lib.linux-x86_64-cpython-312/gensim/test/test_data
447.5   copying gensim/test/test_data/testcorpus.mm.index -> build/lib.linux-x86_64-cpython-312/gensim/test/test_data
447.5   copying gensim/test/test_data/testcorpus.svmlight -> build/lib.linux-x86_64-cpython-312/gensim/test/test_data
447.5   copying gensim/test/test_data/testcorpus.svmlight.index -> build/lib.linux-x86_64-cpython-312/gensim/test/test_data
447.5   copying gensim/test/test_data/testcorpus.txt -> build/lib.linux-x86_64-cpython-312/gensim/test/test_data
447.5   copying gensim/test/test_data/testcorpus.uci -> build/lib.linux-x86_64-cpython-312/gensim/test/test_data
447.5   copying gensim/test/test_data/testcorpus.uci.index -> build/lib.linux-x86_64-cpython-312/gensim/test/test_data
447.5   copying gensim/test/test_data/testcorpus.uci.vocab -> build/lib.linux-x86_64-cpython-312/gensim/test/test_data
447.5   copying gensim/test/test_data/testcorpus.xml.bz2 -> build/lib.linux-x86_64-cpython-312/gensim/test/test_data
447.5   copying gensim/test/test_data/tfidf_model.tst -> build/lib.linux-x86_64-cpython-312/gensim/test/test_data
447.5   copying gensim/test/test_data/tfidf_model.tst.bz2 -> build/lib.linux-x86_64-cpython-312/gensim/test/test_data
447.5   copying gensim/test/test_data/tfidf_model_3_2.tst -> build/lib.linux-x86_64-cpython-312/gensim/test/test_data
447.5   copying gensim/test/test_data/toy-data.txt -> build/lib.linux-x86_64-cpython-312/gensim/test/test_data
447.5   copying gensim/test/test_data/toy-model-pretrained.bin -> build/lib.linux-x86_64-cpython-312/gensim/test/test_data
447.5   copying gensim/test/test_data/toy-model.bin -> build/lib.linux-x86_64-cpython-312/gensim/test/test_data
447.5   copying gensim/test/test_data/toy-model.vec -> build/lib.linux-x86_64-cpython-312/gensim/test/test_data
447.5   copying gensim/test/test_data/varembed_lee_subcorpus.cor -> build/lib.linux-x86_64-cpython-312/gensim/test/test_data
447.5   copying gensim/test/test_data/varembed_morfessor.bin -> build/lib.linux-x86_64-cpython-312/gensim/test/test_data
447.5   copying gensim/test/test_data/varembed_vectors.pkl -> build/lib.linux-x86_64-cpython-312/gensim/test/test_data
447.5   copying gensim/test/test_data/w2v-lee-v0.12.0 -> build/lib.linux-x86_64-cpython-312/gensim/test/test_data
447.5   copying gensim/test/test_data/w2v_keyedvectors_load_test.modeldata -> build/lib.linux-x86_64-cpython-312/gensim/test/test_data
447.5   copying gensim/test/test_data/w2v_keyedvectors_load_test.vocab -> build/lib.linux-x86_64-cpython-312/gensim/test/test_data
447.5   copying gensim/test/test_data/word2vec_3.3 -> build/lib.linux-x86_64-cpython-312/gensim/test/test_data
447.5   copying gensim/test/test_data/word2vec_old -> build/lib.linux-x86_64-cpython-312/gensim/test/test_data
447.5   copying gensim/test/test_data/word2vec_old_sep -> build/lib.linux-x86_64-cpython-312/gensim/test/test_data
447.5   copying gensim/test/test_data/word2vec_old_sep.syn0_lockf.npy -> build/lib.linux-x86_64-cpython-312/gensim/test/test_data
447.5   copying gensim/test/test_data/word2vec_old_sep.syn1neg.npy -> build/lib.linux-x86_64-cpython-312/gensim/test/test_data
447.5   copying gensim/test/test_data/word2vec_pre_kv_c -> build/lib.linux-x86_64-cpython-312/gensim/test/test_data
447.5   copying gensim/test/test_data/word2vec_pre_kv_py2 -> build/lib.linux-x86_64-cpython-312/gensim/test/test_data
447.5   copying gensim/test/test_data/word2vec_pre_kv_py3 -> build/lib.linux-x86_64-cpython-312/gensim/test/test_data
447.5   copying gensim/test/test_data/word2vec_pre_kv_py3_4 -> build/lib.linux-x86_64-cpython-312/gensim/test/test_data
447.5   copying gensim/test/test_data/word2vec_pre_kv_sep_py2 -> build/lib.linux-x86_64-cpython-312/gensim/test/test_data
447.5   copying gensim/test/test_data/word2vec_pre_kv_sep_py2.neg_labels.npy -> build/lib.linux-x86_64-cpython-312/gensim/test/test_data
447.5   copying gensim/test/test_data/word2vec_pre_kv_sep_py2.syn0.npy -> build/lib.linux-x86_64-cpython-312/gensim/test/test_data
447.5   copying gensim/test/test_data/word2vec_pre_kv_sep_py2.syn0_lockf.npy -> build/lib.linux-x86_64-cpython-312/gensim/test/test_data
447.5   copying gensim/test/test_data/word2vec_pre_kv_sep_py2.syn1neg.npy -> build/lib.linux-x86_64-cpython-312/gensim/test/test_data
447.5   copying gensim/test/test_data/word2vec_pre_kv_sep_py3 -> build/lib.linux-x86_64-cpython-312/gensim/test/test_data
447.5   copying gensim/test/test_data/word2vec_pre_kv_sep_py3.neg_labels.npy -> build/lib.linux-x86_64-cpython-312/gensim/test/test_data
447.5   copying gensim/test/test_data/word2vec_pre_kv_sep_py3.syn0.npy -> build/lib.linux-x86_64-cpython-312/gensim/test/test_data
447.5   copying gensim/test/test_data/word2vec_pre_kv_sep_py3.syn0_lockf.npy -> build/lib.linux-x86_64-cpython-312/gensim/test/test_data
447.5   copying gensim/test/test_data/word2vec_pre_kv_sep_py3.syn1neg.npy -> build/lib.linux-x86_64-cpython-312/gensim/test/test_data
447.5   copying gensim/test/test_data/word2vec_pre_kv_sep_py3_4 -> build/lib.linux-x86_64-cpython-312/gensim/test/test_data
447.5   copying gensim/test/test_data/word2vec_pre_kv_sep_py3_4.neg_labels.npy -> build/lib.linux-x86_64-cpython-312/gensim/test/test_data
447.5   copying gensim/test/test_data/word2vec_pre_kv_sep_py3_4.syn0.npy -> build/lib.linux-x86_64-cpython-312/gensim/test/test_data
447.5   copying gensim/test/test_data/word2vec_pre_kv_sep_py3_4.syn0_lockf.npy -> build/lib.linux-x86_64-cpython-312/gensim/test/test_data
447.5   copying gensim/test/test_data/word2vec_pre_kv_sep_py3_4.syn1neg.npy -> build/lib.linux-x86_64-cpython-312/gensim/test/test_data
447.5   copying gensim/test/test_data/wordsim353.tsv -> build/lib.linux-x86_64-cpython-312/gensim/test/test_data
447.5   creating build/lib.linux-x86_64-cpython-312/gensim/test/test_data/DTM
447.5   copying gensim/test/test_data/DTM/ldaseq_3_0_1_model -> build/lib.linux-x86_64-cpython-312/gensim/test/test_data/DTM
447.5   copying gensim/test/test_data/DTM/sstats_test.txt -> build/lib.linux-x86_64-cpython-312/gensim/test/test_data/DTM
447.5   creating build/lib.linux-x86_64-cpython-312/gensim/test/test_data/PathLineSentences
447.5   copying gensim/test/test_data/PathLineSentences/1.txt -> build/lib.linux-x86_64-cpython-312/gensim/test/test_data/PathLineSentences
447.5   copying gensim/test/test_data/PathLineSentences/2.txt.bz2 -> build/lib.linux-x86_64-cpython-312/gensim/test/test_data/PathLineSentences
447.5   creating build/lib.linux-x86_64-cpython-312/gensim/test/test_data/old_d2v_models
447.5   copying gensim/test/test_data/old_d2v_models/d2v_0.12.0.mdl -> build/lib.linux-x86_64-cpython-312/gensim/test/test_data/old_d2v_models
447.5   copying gensim/test/test_data/old_d2v_models/d2v_0.12.1.mdl -> build/lib.linux-x86_64-cpython-312/gensim/test/test_data/old_d2v_models
447.5   copying gensim/test/test_data/old_d2v_models/d2v_0.12.2.mdl -> build/lib.linux-x86_64-cpython-312/gensim/test/test_data/old_d2v_models
447.5   copying gensim/test/test_data/old_d2v_models/d2v_0.12.3.mdl -> build/lib.linux-x86_64-cpython-312/gensim/test/test_data/old_d2v_models
447.5   copying gensim/test/test_data/old_d2v_models/d2v_0.12.4.mdl -> build/lib.linux-x86_64-cpython-312/gensim/test/test_data/old_d2v_models
447.5   copying gensim/test/test_data/old_d2v_models/d2v_0.13.0.mdl -> build/lib.linux-x86_64-cpython-312/gensim/test/test_data/old_d2v_models
447.5   copying gensim/test/test_data/old_d2v_models/d2v_0.13.1.mdl -> build/lib.linux-x86_64-cpython-312/gensim/test/test_data/old_d2v_models
447.5   copying gensim/test/test_data/old_d2v_models/d2v_0.13.2.mdl -> build/lib.linux-x86_64-cpython-312/gensim/test/test_data/old_d2v_models
447.5   copying gensim/test/test_data/old_d2v_models/d2v_0.13.3.mdl -> build/lib.linux-x86_64-cpython-312/gensim/test/test_data/old_d2v_models
447.5   copying gensim/test/test_data/old_d2v_models/d2v_0.13.4.mdl -> build/lib.linux-x86_64-cpython-312/gensim/test/test_data/old_d2v_models
447.5   copying gensim/test/test_data/old_d2v_models/d2v_1.0.0.mdl -> build/lib.linux-x86_64-cpython-312/gensim/test/test_data/old_d2v_models
447.5   copying gensim/test/test_data/old_d2v_models/d2v_1.0.1.mdl -> build/lib.linux-x86_64-cpython-312/gensim/test/test_data/old_d2v_models
447.5   copying gensim/test/test_data/old_d2v_models/d2v_2.0.0.mdl -> build/lib.linux-x86_64-cpython-312/gensim/test/test_data/old_d2v_models
447.5   copying gensim/test/test_data/old_d2v_models/d2v_2.1.0.mdl -> build/lib.linux-x86_64-cpython-312/gensim/test/test_data/old_d2v_models
447.5   copying gensim/test/test_data/old_d2v_models/d2v_2.2.0.mdl -> build/lib.linux-x86_64-cpython-312/gensim/test/test_data/old_d2v_models
447.5   copying gensim/test/test_data/old_d2v_models/d2v_2.3.0.mdl -> build/lib.linux-x86_64-cpython-312/gensim/test/test_data/old_d2v_models
447.5   copying gensim/test/test_data/old_d2v_models/d2v_3.0.0.mdl -> build/lib.linux-x86_64-cpython-312/gensim/test/test_data/old_d2v_models
447.5   copying gensim/test/test_data/old_d2v_models/d2v_3.1.0.mdl -> build/lib.linux-x86_64-cpython-312/gensim/test/test_data/old_d2v_models
447.5   copying gensim/test/test_data/old_d2v_models/d2v_3.2.0.mdl -> build/lib.linux-x86_64-cpython-312/gensim/test/test_data/old_d2v_models
447.5   copying gensim/test/test_data/old_d2v_models/d2v_3.3.0.mdl -> build/lib.linux-x86_64-cpython-312/gensim/test/test_data/old_d2v_models
447.5   copying gensim/test/test_data/old_d2v_models/d2v_3.4.0.mdl -> build/lib.linux-x86_64-cpython-312/gensim/test/test_data/old_d2v_models
447.5   creating build/lib.linux-x86_64-cpython-312/gensim/test/test_data/old_w2v_models
447.5   copying gensim/test/test_data/old_w2v_models/w2v_0.12.0.mdl -> build/lib.linux-x86_64-cpython-312/gensim/test/test_data/old_w2v_models
447.5   copying gensim/test/test_data/old_w2v_models/w2v_0.12.1.mdl -> build/lib.linux-x86_64-cpython-312/gensim/test/test_data/old_w2v_models
447.5   copying gensim/test/test_data/old_w2v_models/w2v_0.12.2.mdl -> build/lib.linux-x86_64-cpython-312/gensim/test/test_data/old_w2v_models
447.5   copying gensim/test/test_data/old_w2v_models/w2v_0.12.3.mdl -> build/lib.linux-x86_64-cpython-312/gensim/test/test_data/old_w2v_models
447.5   copying gensim/test/test_data/old_w2v_models/w2v_0.12.4.mdl -> build/lib.linux-x86_64-cpython-312/gensim/test/test_data/old_w2v_models
447.5   copying gensim/test/test_data/old_w2v_models/w2v_0.13.0.mdl -> build/lib.linux-x86_64-cpython-312/gensim/test/test_data/old_w2v_models
447.5   copying gensim/test/test_data/old_w2v_models/w2v_0.13.1.mdl -> build/lib.linux-x86_64-cpython-312/gensim/test/test_data/old_w2v_models
447.5   copying gensim/test/test_data/old_w2v_models/w2v_0.13.2.mdl -> build/lib.linux-x86_64-cpython-312/gensim/test/test_data/old_w2v_models
447.5   copying gensim/test/test_data/old_w2v_models/w2v_0.13.3.mdl -> build/lib.linux-x86_64-cpython-312/gensim/test/test_data/old_w2v_models
447.5   copying gensim/test/test_data/old_w2v_models/w2v_0.13.4.mdl -> build/lib.linux-x86_64-cpython-312/gensim/test/test_data/old_w2v_models
447.5   copying gensim/test/test_data/old_w2v_models/w2v_1.0.0.mdl -> build/lib.linux-x86_64-cpython-312/gensim/test/test_data/old_w2v_models
447.5   copying gensim/test/test_data/old_w2v_models/w2v_1.0.1.mdl -> build/lib.linux-x86_64-cpython-312/gensim/test/test_data/old_w2v_models
447.5   copying gensim/test/test_data/old_w2v_models/w2v_2.0.0.mdl -> build/lib.linux-x86_64-cpython-312/gensim/test/test_data/old_w2v_models
447.5   copying gensim/test/test_data/old_w2v_models/w2v_2.1.0.mdl -> build/lib.linux-x86_64-cpython-312/gensim/test/test_data/old_w2v_models
447.5   copying gensim/test/test_data/old_w2v_models/w2v_2.2.0.mdl -> build/lib.linux-x86_64-cpython-312/gensim/test/test_data/old_w2v_models
447.5   copying gensim/test/test_data/old_w2v_models/w2v_2.3.0.mdl -> build/lib.linux-x86_64-cpython-312/gensim/test/test_data/old_w2v_models
447.5   copying gensim/test/test_data/old_w2v_models/w2v_3.0.0.mdl -> build/lib.linux-x86_64-cpython-312/gensim/test/test_data/old_w2v_models
447.5   copying gensim/test/test_data/old_w2v_models/w2v_3.1.0.mdl -> build/lib.linux-x86_64-cpython-312/gensim/test/test_data/old_w2v_models
447.5   copying gensim/test/test_data/old_w2v_models/w2v_3.2.0.mdl -> build/lib.linux-x86_64-cpython-312/gensim/test/test_data/old_w2v_models
447.5   copying gensim/test/test_data/old_w2v_models/w2v_3.3.0.mdl -> build/lib.linux-x86_64-cpython-312/gensim/test/test_data/old_w2v_models
447.5   copying gensim/test/test_data/old_w2v_models/w2v_3.4.0.mdl -> build/lib.linux-x86_64-cpython-312/gensim/test/test_data/old_w2v_models
447.5   copying gensim/models/doc2vec_corpusfile.cpp -> build/lib.linux-x86_64-cpython-312/gensim/models
447.5   copying gensim/models/doc2vec_corpusfile.pyx -> build/lib.linux-x86_64-cpython-312/gensim/models
447.5   copying gensim/models/doc2vec_inner.cpp -> build/lib.linux-x86_64-cpython-312/gensim/models
447.5   copying gensim/models/doc2vec_inner.pxd -> build/lib.linux-x86_64-cpython-312/gensim/models
447.5   copying gensim/models/doc2vec_inner.pyx -> build/lib.linux-x86_64-cpython-312/gensim/models
447.5   copying gensim/models/fast_line_sentence.h -> build/lib.linux-x86_64-cpython-312/gensim/models
447.5   copying gensim/models/fasttext_corpusfile.cpp -> build/lib.linux-x86_64-cpython-312/gensim/models
447.5   copying gensim/models/fasttext_corpusfile.pyx -> build/lib.linux-x86_64-cpython-312/gensim/models
447.5   copying gensim/models/fasttext_inner.c -> build/lib.linux-x86_64-cpython-312/gensim/models
447.5   copying gensim/models/fasttext_inner.pxd -> build/lib.linux-x86_64-cpython-312/gensim/models
447.5   copying gensim/models/fasttext_inner.pyx -> build/lib.linux-x86_64-cpython-312/gensim/models
447.5   copying gensim/models/nmf_pgd.c -> build/lib.linux-x86_64-cpython-312/gensim/models
447.5   copying gensim/models/nmf_pgd.pyx -> build/lib.linux-x86_64-cpython-312/gensim/models
447.5   copying gensim/models/stdint_wrapper.h -> build/lib.linux-x86_64-cpython-312/gensim/models
447.5   copying gensim/models/voidptr.h -> build/lib.linux-x86_64-cpython-312/gensim/models
447.5   copying gensim/models/word2vec_corpusfile.cpp -> build/lib.linux-x86_64-cpython-312/gensim/models
447.5   copying gensim/models/word2vec_corpusfile.pxd -> build/lib.linux-x86_64-cpython-312/gensim/models
447.5   copying gensim/models/word2vec_corpusfile.pyx -> build/lib.linux-x86_64-cpython-312/gensim/models
447.5   copying gensim/models/word2vec_inner.c -> build/lib.linux-x86_64-cpython-312/gensim/models
447.5   copying gensim/models/word2vec_inner.pxd -> build/lib.linux-x86_64-cpython-312/gensim/models
447.5   copying gensim/models/word2vec_inner.pyx -> build/lib.linux-x86_64-cpython-312/gensim/models
447.5   copying gensim/similarities/fastss.c -> build/lib.linux-x86_64-cpython-312/gensim/similarities
447.5   copying gensim/corpora/_mmreader.c -> build/lib.linux-x86_64-cpython-312/gensim/corpora
447.5   copying gensim/corpora/_mmreader.pyx -> build/lib.linux-x86_64-cpython-312/gensim/corpora
447.5   running build_ext
447.5   building 'gensim.models.word2vec_inner' extension
447.5   creating build/temp.linux-x86_64-cpython-312
447.5   creating build/temp.linux-x86_64-cpython-312/gensim
447.5   creating build/temp.linux-x86_64-cpython-312/gensim/models
447.5   gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O3 -Wall -fPIC -I/tmp/tmpcsk1p7k4/.venv/include -I/usr/local/include/python3.12 -I/tmp/tmpcsk1p7k4/.venv/lib/python3.12/site-packages/numpy/_core/include -c gensim/models/word2vec_inner.c -o build/temp.linux-x86_64-cpython-312/gensim/models/word2vec_inner.o
447.5   In file included from /tmp/tmpcsk1p7k4/.venv/lib/python3.12/site-packages/numpy/_core/include/numpy/ndarraytypes.h:1909,
447.5                    from /tmp/tmpcsk1p7k4/.venv/lib/python3.12/site-packages/numpy/_core/include/numpy/ndarrayobject.h:12,
447.5                    from /tmp/tmpcsk1p7k4/.venv/lib/python3.12/site-packages/numpy/_core/include/numpy/arrayobject.h:5,
447.5                    from gensim/models/word2vec_inner.c:771:
447.5   /tmp/tmpcsk1p7k4/.venv/lib/python3.12/site-packages/numpy/_core/include/numpy/npy_1_7_deprecated_api.h:17:2: warning: #warning "Using deprecated NumPy API, disable it with " "#define NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION" [-Wcpp]
447.5      17 | #warning "Using deprecated NumPy API, disable it with " \
447.5         |  ^~~~~~~
447.5   In file included from /usr/local/include/python3.12/Python.h:38,
447.5                    from gensim/models/word2vec_inner.c:25:
447.5   gensim/models/word2vec_inner.c: In function ‘__pyx_f_5numpy_PyDataType_SHAPE’:
447.5   gensim/models/word2vec_inner.c:9365:39: error: ‘PyArray_Descr’ {aka ‘struct _PyArray_Descr’} has no member named ‘subarray’
447.5    9365 |     __Pyx_INCREF(((PyObject*)__pyx_v_d->subarray->shape));
447.5         |                                       ^~
447.5   /usr/local/include/python3.12/pyport.h:24:38: note: in definition of macro ‘_Py_CAST’
447.5      24 | #define _Py_CAST(type, expr) ((type)(expr))
447.5         |                                      ^~~~
447.5   /usr/local/include/python3.12/object.h:661:35: note: in expansion of macro ‘_PyObject_CAST’
447.5     661 | #  define Py_INCREF(op) Py_INCREF(_PyObject_CAST(op))
447.5         |                                   ^~~~~~~~~~~~~~
447.5   gensim/models/word2vec_inner.c:1435:27: note: in expansion of macro ‘Py_INCREF’
447.5    1435 |   #define __Pyx_INCREF(r) Py_INCREF(r)
447.5         |                           ^~~~~~~~~
447.5   gensim/models/word2vec_inner.c:9365:5: note: in expansion of macro ‘__Pyx_INCREF’
447.5    9365 |     __Pyx_INCREF(((PyObject*)__pyx_v_d->subarray->shape));
447.5         |     ^~~~~~~~~~~~
447.5   gensim/models/word2vec_inner.c:9366:36: error: ‘PyArray_Descr’ {aka ‘struct _PyArray_Descr’} has no member named ‘subarray’
447.5    9366 |     __pyx_r = ((PyObject*)__pyx_v_d->subarray->shape);
447.5         |                                    ^~
447.5   error: command '/usr/bin/gcc' failed with exit code 1
447.5
447.5
447.5   at /usr/local/lib/python3.12/site-packages/poetry/installation/chef.py:164 in _prepare
447.5       160│
447.5       161│                 error = ChefBuildError("\n\n".join(message_parts))
447.5       162│
447.5       163│             if error is not None:
447.5     → 164│                 raise error from None
447.5       165│
447.5       166│             return path
447.5       167│
447.5       168│     def _prepare_sdist(self, archive: Path, destination: Path | None = None) -> Path:
------
Dockerfile:7
--------------------
    5 |     COPY pyproject.toml pyproject.toml
    6 |
    7 | >>> RUN poetry install
    8 |
--------------------
ERROR: failed to solve: process "/bin/sh -c poetry install" did not complete successfully: exit code: 1

@juhoinkinen
Copy link
Author

Scipy 1.14.0 was released last week, but seems it does not affect this: pinning Scipy version to 1.13.0 in the pyproject.toml results in the same error.

@piskvorky piskvorky added this to the Summer 2024 release milestone Jul 2, 2024
@juhoinkinen
Copy link
Author

Somehow Numpy 2.0 is the cause for this, as discussed in issue TA-Lib/ta-lib-python#655 and resolved by TA-Lib/ta-lib-python#656.

Maybe the same (temporary?) fix could be used for Gensim too?

@juhoinkinen
Copy link
Author

juhoinkinen commented Jul 16, 2024

Maybe the same (temporary?) fix could be used for Gensim too?

The fix, that is the constraint numpy <2.0 (along with the scipy version constraint), makes it possible to install and build gensim for Python 3.12 with Poetry; try this in pyproject.toml:

gensim = { git = "https://github.com/juhoinkinen/gensim.git", branch = "develop" }

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants