PyO3 error
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 4/5
- Thời gian dự kiến
- 3-5 ngày
- Mức phù hợp với người mới
- 35/100
- Loại issue
- Lỗi
- Độ rõ ràng
- Cần làm rõ
- Mức độ hoạt động
- Đình trệ
- Công nghệ
- python
- Lĩnh vực
- testing-qa
Hướng nghiên cứu
Reproduce the failure with test_one.py, folder/init.py, folder/some_module.py, and the stated pytest command and package versions. Start by investigating how the --cov=folder.some_module entry point affects imports, then compare runs with and without --cov and with the listed dependency versions. Done means the cause is established and the reproducer no longer fails or the limitation is documented.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
Hello,
I am currently debugging weird issue that happens to us only when using --cov arguments to pytest and only during running tests (not in production with the same code).
Reproducer
I was able to narrow it down for this little setup:
create this structure:
.
├── folder
│ ├── __init__.py
│ └── some_module.py
└── test_one.py
Now, some_module.py is empty.
folder/__init__.py has this content:
`from cryptography.hazmat.primitives import hashes`
test_one.py has this content:
`from cryptography.hazmat.primitives import hashes`
When you run this command (note that in my case the whole directory structure is in /home/vagrant/neto directory):
`PYTHONPATH=$PYTHONPATH:/home/vagrant/neto pytest /home/vagrant/neto/test_one.py --cov=folder.some_module`
you get
ImportError while importing test module '/home/vagrant/neto/test_one.py'.
Hint: make sure your test modules/packages have valid Python names.
Traceback:
../.pyenv/versions/3.8.18/lib/python3.8/importlib/__init__.py:127: in import_module
return _bootstrap._gcd_import(name[level:], package, level)
test_one.py:2: in <module>
from cryptography.hazmat.primitives import hashes
../venv/pack/lib/python3.8/site-packages/cryptography/hazmat/primitives/hashes.py:10: in <module>
from cryptography.hazmat.bindings._rust import openssl as rust_openssl
E ImportError: PyO3 modules may only be initialized once per interpreter process
explanation
Reasons why I think (though not sure) the problem is in python-cov:
- you can switch
from cryptography.hazmat.primitives import hashesforimport jsonschemaand you get the into the same error. - we dont get any errors in production with the other imported packages.
- you remove the --cov attribute and it runs without errors.
- that importError sounds like that it might be caused by the way --cov path is handled internally?
versions
- python 3.8.18
- pytest 7.4.2
- pytest-cov 4.1.0
- jsonschema 4.19.1, problem doesnt appear when downgrading to 4.17.3
- cryptography 41.0.4, problem doesnt appear when downgrading to 40.0.2
- Ngôn ngữ chính
- Python
- Star
- 2.1k
- Fork
- 256
- Merge trung bình
- 6 ngày 10 phút
- Pull request đã merge (30 ngày)
- 2
Chuẩn bị môi trường
- Không có Dockerfile hay tệp Docker Compose
- Không có mẫu pull request
- Đọc hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của pytest-dev/pytest-cov
-
Celery tests require package; test blows up if Celery not installed instead of skipping the tests gracefullyCó thể đã có người làm @dchaudhari7177 đã nhận 104 ngày trước. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
pytest-dev/pytest-cov#750 ·
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
pytest-dev/pytest-cov#617 · 1 bình luận ·
-
Only set dynamic context on coveragepy cores supporting it, perhaps?Có thể đã có người làm @terminalchai đã nhận 19 ngày trước. Đang mở
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 45/100
pytest-dev/pytest-cov#755 · 3 bình luận ·
-
INTERNALERROR when generating html report using pytest-cov 7.1.0 with jinjaCó thể đã có người làm @daleselaji-dev đã nhận 90 ngày trước. Đang mở
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 58/100
pytest-dev/pytest-cov#748 ·
-
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 28/100
pytest-dev/pytest-cov#747 · 1 reaction ·
Tất cả issue của pytest-dev/pytest-cov
Issue tương tự
-
[yugabyted] xcluster set_up and add_to_replication fail for database names containing - . or (Đang mởkind/bug priority/medium qa_automation
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
yugabyte/yugabyte-db#37324 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
good first issue
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 87/100
btclib-org/btclib-node#2260 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
ChatBedrockConverse changes the keys of JSON tool results to camelCase (`order_id` becomes `orderId`)Có thể đã có người làm @geyazheng đã nhận hôm nay. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
langchain-ai/langchain-aws#1469 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
GCToggler leaves collection enabled if the body re-enables itCó thể đã có người làm @Gambit-Checkmate đã nhận hôm nay. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 76/100
Maintainer thường phản hồi trong vòng 7 ngày
-
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 88/100
EESSI/docs#949 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày