-
Notifications
You must be signed in to change notification settings - Fork 24
/
Copy pathsetup.py
72 lines (59 loc) · 3.34 KB
/
setup.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
# cython: linetrace=True
from distutils.core import setup,Extension
from distutils import sysconfig
import numpy
from Cython.Build import cythonize
import platform
if platform.system() != 'Windows': # When compilinig con visual no -g is added to params
cflags = sysconfig.get_config_var('CFLAGS')
opt = sysconfig.get_config_var('OPT')
sysconfig._config_vars['CFLAGS'] = cflags.replace(' -g ', ' ')
sysconfig._config_vars['OPT'] = opt.replace(' -g ', ' ')
if platform.system() == 'Linux': # In macos there seems not to be -g in LDSHARED
ldshared = sysconfig.get_config_var('LDSHARED')
sysconfig._config_vars['LDSHARED'] = ldshared.replace(' -g ', ' ')
# import Cython.Compiler.Options
# from Cython.Compiler.Options import _directive_defaults as directive_defaults
# directive_defaults['profile'] = True
# directive_defaults['linetrace'] = True
# directive_defaults['binding'] = True
# Cython.Compiler.Options.get_directive_defaults()['profile'] = True
# Cython.Compiler.Options.get_directive_defaults()['linetrace'] = True
# Cython.Compiler.Options.get_directive_defaults()['binding'] = True
extensions = [Extension("factor_graph", ["graph_learning/model/open_crf/cython/factor_graph.pyx"],include_dirs = [numpy.get_include()],
extra_compile_args=["-fPIC", "-O3", "-ffast-math"],
extra_link_args=["-fPIC", "-O3", "-ffast-math"],
# libraries=["m"],
language='c',
# define_macros=[('CYTHON_TRACE','1'),],
),
Extension("open_crf",['graph_learning/model/open_crf/cython/open_crf.pyx'], include_dirs = [numpy.get_include()],
extra_compile_args=["-fPIC", "-O3", "-ffast-math",],
extra_link_args=["-fPIC", "-O3", "-ffast-math",],
# libraries=["m"],
language='c',
# define_macros=[('CYTHON_TRACE','1'),],
),
]
import os
try:
os.remove("D:/work/face_expr/graph_learning/model/open_crf/cython/factor_graph.c")
os.remove("D:/work/face_expr/graph_learning/model/open_crf/cython/factor_graph.cp35-win_amd64.pyd")
os.remove("D:/work/face_expr/graph_learning/model/open_crf/cython/open_crf.c")
os.remove("D:/work/face_expr/graph_learning/model/open_crf/cython/open_crf.cp35-win_amd64.pyd")
os.remove("D:/work/face_expr/factor_graph.cp35-win_amd64.pyd")
os.remove("D:/work/face_expr/open_crf_parallel.cp35-win_amd64.pyd")
except FileNotFoundError:
pass
setup(
name = 'open_crf cython',
package_data = {
'graph_learning/model/open_crf/cython': ['*.pxd'],
},
ext_modules=cythonize(extensions,include_path=[numpy.get_include()] ) # ,compiler_directives={'linetrace': True,"binding":True})
)
import shutil
# shutil.copyfile("D:/work/face_expr/open_crf_parallel.cp35-win_amd64.pyd","D:/work/face_expr/graph_learning/model/open_crf/cython/open_crf_parallel.cp35-win_amd64.pyd")
# shutil.copyfile("D:/work/face_expr/factor_graph.cp35-win_amd64.pyd","D:/work/face_expr/graph_learning/model/open_crf/cython/factor_graph.cp35-win_amd64.pyd")
# os.remove("D:/work/face_expr/factor_graph.cp35-win_amd64.pyd")
# os.remove("D:/work/face_expr/open_crf_parallel.cp35-win_amd64.pyd")