cython

Форк
0
/
absolute_import.srctree 
59 строк · 1.4 Кб
1
PYTHON setup.py build_ext --inplace
2
PYTHON -c "import pkg.my_test_module"
3
PYTHON -c "import pkg.b; pkg.b.test_reimport()"
4
PYTHON -c "import pkg.c; pkg.c.test_reimport()"
5

6
######## setup.py ########
7

8
from Cython.Build.Dependencies import cythonize
9
from distutils.core import setup
10

11
setup(
12
    ext_modules = cythonize("**/*.pyx"),
13
    )
14

15
######## pkg/__init__.py ########
16

17
######## pkg/a_module.pyx ########
18

19
######## pkg/my_test_module.pyx ########
20

21
import sys
22
from . import a_module
23
assert a_module in sys.modules.values(), list(sys.modules)
24
assert sys.modules['pkg.a_module'] is a_module, list(sys.modules)
25

26
######## pkg/b.pyx ########
27

28
from __future__ import absolute_import
29

30
import sys
31
try:
32
    import my_test_module
33
except ImportError:
34
    pass
35
else:
36
    assert "expected ImportError on absolute import"
37

38
import pkg.my_test_module
39

40
assert pkg.my_test_module in sys.modules.values(), list(sys.modules)
41
assert sys.modules['pkg.my_test_module'] is pkg.my_test_module, list(sys.modules)
42

43
def test_reimport():
44
    import pkg.my_test_module as mod
45
    assert pkg.my_test_module is mod
46

47
######## pkg/c.pyx ########
48

49
from __future__ import absolute_import
50

51
import sys
52
from pkg import my_test_module
53

54
assert my_test_module in sys.modules.values(), list(sys.modules)
55
assert sys.modules['pkg.my_test_module'] is my_test_module, list(sys.modules)
56

57
def test_reimport():
58
    from pkg import my_test_module as mod
59
    assert my_test_module is mod
60

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.