@@ -24,13 +24,16 @@ msgstr ""
24
24
25
25
#: ../../extending/building.rst:7
26
26
msgid "Building C and C++ Extensions"
27
- msgstr "Construindo Extensões C e C++"
27
+ msgstr "Construindo extensões C e C++"
28
28
29
29
#: ../../extending/building.rst:9
30
30
msgid ""
31
31
"A C extension for CPython is a shared library (e.g. a ``.so`` file on Linux, "
32
32
"``.pyd`` on Windows), which exports an *initialization function*."
33
33
msgstr ""
34
+ "Uma extensão C para CPython é uma biblioteca compartilhada (por exemplo, um "
35
+ "arquivo ``.so`` no Linux, ``.pyd`` no Windows), que exporta uma *função de "
36
+ "inicialização*."
34
37
35
38
#: ../../extending/building.rst:12
36
39
msgid ""
@@ -39,16 +42,22 @@ msgid ""
39
42
"extension. When using distutils, the correct filename is generated "
40
43
"automatically."
41
44
msgstr ""
45
+ "Para ser importável, a biblioteca compartilhada deve estar disponível em :"
46
+ "envvar:`PYTHONPATH`, e deve ser nomeada após o nome do módulo, com uma "
47
+ "extensão apropriada. Ao usar distutils, o nome do arquivo correto é gerado "
48
+ &q
8000
uot;automaticamente."
42
49
43
50
#: ../../extending/building.rst:16
44
51
msgid "The initialization function has the signature:"
45
- msgstr ""
52
+ msgstr "A função de inicialização tem a assinatura: "
46
53
47
54
#: ../../extending/building.rst:20
48
55
msgid ""
49
56
"It returns either a fully-initialized module, or a :c:type:`PyModuleDef` "
50
57
"instance. See :ref:`initializing-modules` for details."
51
58
msgstr ""
59
+ "Ela retorna um módulo totalmente inicializado ou uma instância de :c:type:"
60
+ "`PyModuleDef`. Veja :ref:`initializing-modules` para detalhes."
52
61
53
62
#: ../../extending/building.rst:25
54
63
msgid ""
@@ -59,6 +68,13 @@ msgid ""
59
68
"``PyInitU_<modulename>``, with ``<modulename>`` encoded using Python's "
60
69
"*punycode* encoding with hyphens replaced by underscores. In Python::"
61
70
msgstr ""
71
+ "Para módulos com nomes somente ASCII, a função deve ser nomeada "
72
+ "``PyInit_<nomemódulo>``, com ``<nomemódulo>`` substituído pelo nome do "
73
+ "módulo. Ao usar :ref:`multi-phase-initialization`, nomes de módulos não "
74
+ "ASCII são permitidos. Neste caso, o nome da função de inicialização é "
75
+ "``PyInitU_<nomemódulo>``, com ``<nomemódulo>`` codificado usando a "
76
+ "codificação *punycode* do Python com hifenes substituídos por sublinhados. "
77
+ "Em Python::"
62
78
63
79
#: ../../extending/building.rst:39
64
80
msgid ""
@@ -68,27 +84,39 @@ msgid ""
68
84
"function corresponding to the filename is found. See the *\" Multiple modules "
69
85
"in one library\" * section in :pep:`489` for details."
70
86
msgstr ""
87
+ "É possível exportar vários módulos de uma única biblioteca compartilhada, "
88
+ "definindo várias funções de inicialização. No entanto, importá-los requer o "
89
+ "uso de links simbólicos ou um importador personalizado, porque por padrão "
90
+ "apenas a função correspondente ao nome do arquivo é encontrada. Veja a "
91
+ "seção *\" Multiple modules in one library\" * na :pep:`489` para detalhes."
71
92
72
93
#: ../../extending/building.rst:49
73
94
msgid "Building C and C++ Extensions with distutils"
74
- msgstr ""
95
+ msgstr "Construindo extensões C e C ++ com distutils "
75
96
76
97
#: ../../extending/building.rst:53
77
98
msgid ""
78
99
"Extension modules can be built using distutils, which is included in "
79
100
"Python. Since distutils also supports creation of binary packages, users "
80
101
"don't necessarily need a compiler and distutils to install the extension."
81
102
msgstr ""
103
+ "Módulos de extensão podem ser construídos usando distutils, que está "
104
+ "incluído no Python. Visto que distutils também suporta a criação de pacotes "
105
+ "binários, os usuários não precisam necessariamente de um compilador e "
106
+ "distutils para instalar a extensão."
82
107
83
108
#: ../../extending/building.rst:57
84
109
msgid ""
85
110
"A distutils package contains a driver script, :file:`setup.py`. This is a "
86
111
"plain Python file, which, in the most simple case, could look like this:"
87
112
msgstr ""
113
+ "Um pacote distutils contém um script guia :file:`setup.py`. Este é um "
114
+ "arquivo Python simples, que, no caso mais simples, pode ter a seguinte "
115
+ "aparência:"
88
116
89
117
#: ../../extending/building.rst:73
90
118
msgid "With this :file:`setup.py`, and a file :file:`demo.c`, running ::"
91
- msgstr ""
119
+ msgstr "Com este:file:`setup.py` e um arquivo :file:`demo.c`, executando :: "
92
120
93
121
#: ../../extending/building.rst:77
94
122
msgid ""
@@ -97,6 +125,10 @@ msgid ""
97
125
"will end up in a subdirectory :file:`build/lib.system`, and may have a name "
98
126
"like :file:`demo.so` or :file:`demo.pyd`."
99
127
msgstr ""
128
+ "vai compilar :file:`demo.c`, e produzir um módulo de extensão chamado "
129
+ "``demo`` no diretório :file:`build`. Dependendo do sistema, o arquivo do "
130
+ "módulo vai terminar em um subdiretório :file:`build/lib.system`, e pode ter "
131
+ "um nome como :file:`demo.so` ou :file:`demo.pyd`."
100
132
101
133
#: ../../extending/building.rst:82
102
134
msgid ""
@@ -109,6 +141,14 @@ msgid ""
109
141
"distutils documentation in :ref:`distutils-index` to learn more about the "
110
142
"features of distutils; this section explains building extension modules only."
111
143
msgstr ""
144
+ "No :file:`setup.py`, toda a execução é realizada chamando a função "
145
+ "``setup``. Isso leva um número variável de argumentos nomeados, dos quais o "
146
+ "exemplo acima usa apenas um subconjunto. Especificamente, o exemplo "
147
+ "especifica meta-informação para construir pacotes e especifica o conteúdo do "
148
+ "pacote. Normalmente, um pacote conterá módulos adicionais, como módulos-"
149
+ "fonte Python, documentação, subpacotes etc. Consulte a documentação do "
150
+ "distutils em :ref:`distutils-index` para aprender mais sobre os recursos do "
151
+ "distutils; esta seção explica apenas a construção de módulos de extensão."
112
152
113
153
#: ../../extending/building.rst:91
114
154
msgid ""
@@ -119,13 +159,22 @@ msgid ""
119
159
"example, the instance defines an extension named ``demo`` which is build by "
120
160
"compiling a single source file, :file:`demo.c`."
121
161
msgstr ""
162
+ "É comum pré-computar argumentos para :func:`setup`, para melhor estruturar o "
163
+ "script guia. No exemplo acima, o argumento ``ext_modules`` para :func:"
164
+ "`~distutils.core.setup` é uma lista de módulos de extensão, cada um dos "
165
+ "quais é uma instância de :class:`~distutils.extension.Extension`. No "
166
+ "exemplo, a instância define uma extensão chamada ``demo`` que é construída "
167
+ "compilando um único arquivo fonte, :file:`demo.c`."
122
168
123
169
#: ../../extending/building.rst:99
124
170
msgid ""
125
171
"In many cases, building an extension is more complex, since additional "
126
172
"preprocessor defines and libraries may be needed. This is demonstrated in "
127
173
"the example below."
128
174
msgstr ""
175
+ "Em muitos casos, construir uma extensão é mais complexo, uma vez que "
176
+ "definições de pré-processador adicionais e bibliotecas podem ser "
177
+ "necessárias. Isso é demonstrado no exemplo abaixo."
129
178
130
179
#: ../../extending/building.rst:127
131
180
msgid ""
@@ -136,43 +185,63 @@ msgid ""
136
185
"distutils passes this information in different ways to the compiler. For "
137
186
"example, on Unix, this may result in the compilation commands ::"
138
187
msgstr ""
188
+ "Neste exemplo, :func:`~distutils.core.setup` é chamado com meta-informação "
189
+ "adicional, o que é recomendado quando os pacotes de distribuição precisam "
190
+ "ser construídos. Para a extensão em si, especifica definições de pré-"
191
+ "processador, diretórios de inclusão, diretórios de biblioteca e bibliotecas. "
192
+ "Dependendo do compilador, distutils passa essas informações de maneiras "
193
+ "diferentes para o compilador. Por exemplo, no Unix, isso pode resultar nos "
194
+ "comandos de compilação ::"
139
195
140
196
#: ../../extending/building.rst:139
141
197
msgid ""
142
198
"These lines are for demonstration purposes only; distutils users should "
143
199
"trust that distutils gets the invocations right."
144
200
msgstr ""
201
+ "Essas linhas são apenas para fins de demonstração; Os usuários de distutils "
202
+ "devem confiar que distutils acertará as invocações."
145
203
146
204
#: ../../extending/building.rst:146
147
205
msgid "Distributing your extension modules"
148
- msgstr ""
206
+ msgstr "Distribuindo seus módulos de extensão "
149
207
150
208
#: ../../extending/building.rst:148
151
209
msgid ""
152
210
"When an extension has been successfully built, there are three ways to use "
153
211
"it."
154
212
msgstr ""
213
+ "Quando uma extensão é construída com sucesso, há três maneiras de usá-la."
155
214
156
215
#: ../../extending/building.rst:150
157
216
msgid ""
158
217
"End-users will typically want to install the module, they do so by running ::"
159
218
msgstr ""
219
+ "Os usuários finais normalmente desejam instalar o módulo, eles fazem isso "
220
+ "executando ::"
160
221
161
222
#: ../../extending/building.rst:154
162
223
msgid ""
163
224
"Module maintainers should produce source packages; to do so, they run ::"
164
225
msgstr ""
226
+ "Os mantenedores do módulo devem produzir pacotes fonte; para fazer isso, "
227
+ "eles executam::"
165
228
166
229
#: ../../extending/building.rst:158
167
230
msgid ""
168
231
"In some cases, additional files need to be included in a source "
169
232
"distribution; this is done through a :file:`MANIFEST.in` file; see :ref:"
170
233
"`manifest` for details."
171
234
msgstr ""
235
+ "Em alguns casos, arquivos adicionais precisam ser incluídos em uma "
236
+ "distribuição fonte; isso é feito através de um arquivo :file:`MANIFEST.in`; "
237
+ "veja :ref:`manifest` para detalhes."
172
238
173
239
#: ../../extending/building.rst:161
174
240
msgid ""
175
241
"If the source distribution has been built successfully, maintainers can also "
176
242
"create binary distributions. Depending on the platform, one of the following "
177
243
"commands can be used to do so. ::"
178
244
msgstr ""
245
+ "Se a distribuição fonte foi construída com sucesso, os mantenedores também "
246
+ "podem criar distribuições binárias. Dependendo da plataforma, um dos "
247
+ "seguintes comandos pode ser usado para fazer isso. ::"
0 commit comments