Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit58504e4

Browse files
committed
Python 3.9 (#1264)
* Add Python 3.9 to CI* Update AppVeyor image and always install all requirements* Add Python 3.9 interop file* Fix geninterop script and regenerate interop39.cs - Only record structs when they are defined, not when they are declared - If a struct was only declared when a typedef was created, it won't contain its member declarations. Those have to be drawn from the recorded structs instead. - Rename internal members of AstParser to make it easier to debug
1 parent1861bee commit58504e4

File tree

7 files changed

+381
-75
lines changed

7 files changed

+381
-75
lines changed

‎.travis.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ dist: xenial
22
sudo:false
33
language:python
44
python:
5+
-3.9
56
-3.8
67
-3.7
78
-3.6

‎appveyor.yml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@ environment:
1515
CODECOV_ENV:PYTHON_VERSION, PLATFORM
1616

1717
matrix:
18+
-PYTHON_VERSION:3.9
19+
BUILD_OPTS:--xplat
1820
-PYTHON_VERSION:3.8
1921
BUILD_OPTS:--xplat
2022
-PYTHON_VERSION:3.7
@@ -25,12 +27,12 @@ environment:
2527
BUILD_OPTS:--xplat
2628
-PYTHON_VERSION:2.7
2729
BUILD_OPTS:--xplat
30+
-PYTHON_VERSION:3.9
2831
-PYTHON_VERSION:3.8
2932
-PYTHON_VERSION:3.7
3033
-PYTHON_VERSION:3.6
3134
-PYTHON_VERSION:3.5
3235
-PYTHON_VERSION:2.7
33-
3436
init:
3537
# Update Environment Variables based on matrix/platform
3638
-set PY_VER=%PYTHON_VERSION:.=%

‎requirements.txt

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,11 @@
11
# Requirements for both Travis and AppVeyor
2-
pytest==3.2.5
2+
pytest
33
coverage
44
psutil
55

66
# Coverage upload
77
codecov
88

99
# Platform specific requirements
10-
# pip; sys_platform == 'win32'
11-
wheel;sys_platform=='win32'
12-
pycparser;sys_platform!='win32'
10+
wheel
11+
pycparser

‎src/runtime/Python.Runtime.csproj

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
<?xml version="1.0" encoding="utf-8"?>
1+
<?xml version="1.0" encoding="utf-8"?>
22
<ProjectDefaultTargets="Build"xmlns="http://schemas.microsoft.com/developer/msbuild/2003"ToolsVersion="4.0">
33
<PropertyGroup>
44
<ConfigurationCondition=" '$(Configuration)' == ''">Debug</Configuration>
@@ -165,6 +165,7 @@
165165
<CompileInclude="interop36.cs" />
166166
<CompileInclude="interop37.cs" />
167167
<CompileInclude="interop38.cs" />
168+
<CompileInclude="interop39.cs" />
168169
</ItemGroup>
169170
<ItemGroup>
170171
<NoneInclude="..\pythonnet.snk" />

‎src/runtime/interop39.cs

Lines changed: 227 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,227 @@
1+
2+
// Auto-generated by geninterop.py.
3+
// DO NOT MODIFY BY HAND.
4+
5+
6+
#ifPYTHON39
7+
usingSystem;
8+
usingSystem.Collections;
9+
usingSystem.Collections.Specialized;
10+
usingSystem.Runtime.InteropServices;
11+
usingSystem.Reflection;
12+
usingSystem.Text;
13+
14+
namespacePython.Runtime
15+
{
16+
17+
[StructLayout(LayoutKind.Sequential)]
18+
internalstaticpartialclassTypeOffset
19+
{
20+
// Auto-generated from PyHeapTypeObject in Python.h
21+
publicstaticintob_refcnt=0;
22+
publicstaticintob_type=0;
23+
publicstaticintob_size=0;
24+
publicstaticinttp_name=0;
25+
publicstaticinttp_basicsize=0;
26+
publicstaticinttp_itemsize=0;
27+
publicstaticinttp_dealloc=0;
28+
publicstaticinttp_vectorcall_offset=0;
29+
publicstaticinttp_getattr=0;
30+
publicstaticinttp_setattr=0;
31+
publicstaticinttp_as_async=0;
32+
publicstaticinttp_repr=0;
33+
publicstaticinttp_as_number=0;
34+
publicstaticinttp_as_sequence=0;
35+
publicstaticinttp_as_mapping=0;
36+
publicstaticinttp_hash=0;
37+
publicstaticinttp_call=0;
38+
publicstaticinttp_str=0;
39+
publicstaticinttp_getattro=0;
40+
publicstaticinttp_setattro=0;
41+
publicstaticinttp_as_buffer=0;
42+
publicstaticinttp_flags=0;
43+
publicstaticinttp_doc=0;
44+
publicstaticinttp_traverse=0;
45+
publicstaticinttp_clear=0;
46+
publicstaticinttp_richcompare=0;
47+
publicstaticinttp_weaklistoffset=0;
48+
publicstaticinttp_iter=0;
49+
publicstaticinttp_iternext=0;
50+
publicstaticinttp_methods=0;
51+
publicstaticinttp_members=0;
52+
publicstaticinttp_getset=0;
53+
publicstaticinttp_base=0;
54+
publicstaticinttp_dict=0;
55+
publicstaticinttp_descr_get=0;
56+
publicstaticinttp_descr_set=0;
57+
publicstaticinttp_dictoffset=0;
58+
publicstaticinttp_init=0;
59+
publicstaticinttp_alloc=0;
60+
publicstaticinttp_new=0;
61+
publicstaticinttp_free=0;
62+
publicstaticinttp_is_gc=0;
63+
publicstaticinttp_bases=0;
64+
publicstaticinttp_mro=0;
65+
publicstaticinttp_cache=0;
66+
publicstaticinttp_subclasses=0;
67+
publicstaticinttp_weaklist=0;
68+
publicstaticinttp_del=0;
69+
publicstaticinttp_version_tag=0;
70+
publicstaticinttp_finalize=0;
71+
publicstaticinttp_vectorcall=0;
72+
publicstaticintam_await=0;
73+
publicstaticintam_aiter=0;
74+
publicstaticintam_anext=0;
75+
publicstaticintnb_add=0;
76+
publicstaticintnb_subtract=0;
77+
publicstaticintnb_multiply=0;
78+
publicstaticintnb_remainder=0;
79+
publicstaticintnb_divmod=0;
80+
publicstaticintnb_power=0;
81+
publicstaticintnb_negative=0;
82+
publicstaticintnb_positive=0;
83+
publicstaticintnb_absolute=0;
84+
publicstaticintnb_bool=0;
85+
publicstaticintnb_invert=0;
86+
publicstaticintnb_lshift=0;
87+
publicstaticintnb_rshift=0;
88+
publicstaticintnb_and=0;
89+
publicstaticintnb_xor=0;
90+
publicstaticintnb_or=0;
91+
publicstaticintnb_int=0;
92+
publicstaticintnb_reserved=0;
93+
publicstaticintnb_float=0;
94+
publicstaticintnb_inplace_add=0;
95+
publicstaticintnb_inplace_subtract=0;
96+
publicstaticintnb_inplace_multiply=0;
97+
publicstaticintnb_inplace_remainder=0;
98+
publicstaticintnb_inplace_power=0;
99+
publicstaticintnb_inplace_lshift=0;
100+
publicstaticintnb_inplace_rshift=0;
101+
publicstaticintnb_inplace_and=0;
102+
publicstaticintnb_inplace_xor=0;
103+
publicstaticintnb_inplace_or=0;
104+
publicstaticintnb_floor_divide=0;
105+
publicstaticintnb_true_divide=0;
106+
publicstaticintnb_inplace_floor_divide=0;
107+
publicstaticintnb_inplace_true_divide=0;
108+
publicstaticintnb_index=0;
109+
publicstaticintnb_matrix_multiply=0;
110+
publicstaticintnb_inplace_matrix_multiply=0;
111+
publicstaticintmp_length=0;
112+
publicstaticintmp_subscript=0;
113+
publicstaticintmp_ass_subscript=0;
114+
publicstaticintsq_length=0;
115+
publicstaticintsq_concat=0;
116+
publicstaticintsq_repeat=0;
117+
publicstaticintsq_item=0;
118+
publicstaticintwas_sq_slice=0;
119+
publicstaticintsq_ass_item=0;
120+
publicstaticintwas_sq_ass_slice=0;
121+
publicstaticintsq_contains=0;
122+
publicstaticintsq_inplace_concat=0;
123+
publicstaticintsq_inplace_repeat=0;
124+
publicstaticintbf_getbuffer=0;
125+
publicstaticintbf_releasebuffer=0;
126+
publicstaticintname=0;
127+
publicstaticintht_slots=0;
128+
publicstaticintqualname=0;
129+
publicstaticintht_cached_keys=0;
130+
publicstaticintht_module=0;
131+
132+
/* here are optional user slots, followed by the members. */
133+
publicstaticintmembers=0;
134+
}
135+
136+
[StructLayout(LayoutKind.Sequential)]
137+
internalstructPyNumberMethods
138+
{
139+
publicIntPtrnb_add;
140+
publicIntPtrnb_subtract;
141+
publicIntPtrnb_multiply;
142+
publicIntPtrnb_remainder;
143+
publicIntPtrnb_divmod;
144+
publicIntPtrnb_power;
145+
publicIntPtrnb_negative;
146+
publicIntPtrnb_positive;
147+
publicIntPtrnb_absolute;
148+
publicIntPtrnb_bool;
149+
publicIntPtrnb_invert;
150+
publicIntPtrnb_lshift;
151+
publicIntPtrnb_rshift;
152+
publicIntPtrnb_and;
153+
publicIntPtrnb_xor;
154+
publicIntPtrnb_or;
155+
publicIntPtrnb_int;
156+
publicIntPtrnb_reserved;
157+
publicIntPtrnb_float;
158+
publicIntPtrnb_inplace_add;
159+
publicIntPtrnb_inplace_subtract;
160+
publicIntPtrnb_inplace_multiply;
161+
publicIntPtrnb_inplace_remainder;
162+
publicIntPtrnb_inplace_power;
163+
publicIntPtrnb_inplace_lshift;
164+
publicIntPtrnb_inplace_rshift;
165+
publicIntPtrnb_inplace_and;
166+
publicIntPtrnb_inplace_xor;
167+
publicIntPtrnb_inplace_or;
168+
publicIntPtrnb_floor_divide;
169+
publicIntPtrnb_true_divide;
170+
publicIntPtrnb_inplace_floor_divide;
171+
publicIntPtrnb_inplace_true_divide;
172+
publicIntPtrnb_index;
173+
publicIntPtrnb_matrix_multiply;
174+
publicIntPtrnb_inplace_matrix_multiply;
175+
}
176+
177+
[StructLayout(LayoutKind.Sequential)]
178+
internalstructPySequenceMethods
179+
{
180+
publicIntPtrsq_length;
181+
publicIntPtrsq_concat;
182+
publicIntPtrsq_repeat;
183+
publicIntPtrsq_item;
184+
publicIntPtrwas_sq_slice;
185+
publicIntPtrsq_ass_item;
186+
publicIntPtrwas_sq_ass_slice;
187+
publicIntPtrsq_contains;
188+
publicIntPtrsq_inplace_concat;
189+
publicIntPtrsq_inplace_repeat;
190+
}
191+
192+
[StructLayout(LayoutKind.Sequential)]
193+
internalstructPyMappingMethods
194+
{
195+
publicIntPtrmp_length;
196+
publicIntPtrmp_subscript;
197+
publicIntPtrmp_ass_subscript;
198+
}
199+
200+
[StructLayout(LayoutKind.Sequential)]
201+
internalstructPyAsyncMethods
202+
{
203+
publicIntPtram_await;
204+
publicIntPtram_aiter;
205+
publicIntPtram_anext;
206+
}
207+
208+
[StructLayout(LayoutKind.Sequential)]
209+
internalstructPyBufferProcs
210+
{
211+
publicIntPtrbf_getbuffer;
212+
publicIntPtrbf_releasebuffer;
213+
}
214+
215+
internalstaticpartialclassSlotTypes
216+
{
217+
publicstaticreadonlyType[]Types={
218+
typeof(PyNumberMethods),
219+
typeof(PySequenceMethods),
220+
typeof(PyMappingMethods),
221+
typeof(PyAsyncMethods),
222+
typeof(PyBufferProcs),
223+
};
224+
}
225+
226+
}
227+
#endif

‎src/runtime/runtime.cs

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,8 +68,11 @@ public class Runtime
6868
#elifPYTHON38
6969
internalconststring_pyversion="3.8";
7070
internalconststring_pyver="38";
71+
#elifPYTHON39
72+
internalconststring_pyversion="3.9";
73+
internalconststring_pyver="39";
7174
#else
72-
#error You must define one of PYTHON34 toPYTHON38 or PYTHON27
75+
#error You must define one of PYTHON34 toPYTHON39 or PYTHON27
7376
#endif
7477

7578
#ifMONO_LINUX||MONO_OSX// Linux/macOS use dotted version string

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp