質問編集履歴

3

抜けていたプログラムコードの追記。

2019/05/12 12:48

投稿

wiz_planet
wiz_planet

スコア13

test CHANGED
File without changes
test CHANGED
@@ -395,3 +395,43 @@
395
395
 
396
396
 
397
397
  ```
398
+
399
+
400
+
401
+ ### 追記2
402
+
403
+
404
+
405
+ ```
406
+
407
+ ※抜けていたプログラムコードを追記します。
408
+
409
+ ```
410
+
411
+
412
+
413
+ ### 該当のソースコード2
414
+
415
+
416
+
417
+ ```python
418
+
419
+ # API 接続
420
+
421
+ def make_connection():
422
+
423
+ #API endpoint
424
+
425
+ url = 'URL'
426
+
427
+ channel = '希望するAPI情報の種類(str)'
428
+
429
+ json_rpc = WebsocketAPI(url=url, channel=channel)
430
+
431
+ print("json_rpc : ", json_rpc)
432
+
433
+ return url, channel, json_rpc
434
+
435
+
436
+
437
+ ```

2

初回エラーは解決しましたが、別のエラーが発生したためエラーとコードを追記しました。

2019/05/12 12:48

投稿

wiz_planet
wiz_planet

スコア13

test CHANGED
File without changes
test CHANGED
@@ -46,6 +46,274 @@
46
46
 
47
47
  # サブプロセス
48
48
 
49
+ def test_func(d):
50
+
51
+ print("in test_func started")
52
+
53
+ d[1] = 200
54
+
55
+ print(d[1])
56
+
57
+ d["test"] = "test1"
58
+
59
+ print(d["test"])
60
+
61
+ while True:
62
+
63
+ print(d)
64
+
65
+ sleep(0.5)
66
+
67
+
68
+
69
+
70
+
71
+ if __name__ == '__main__':
72
+
73
+
74
+
75
+ while True:
76
+
77
+ try:
78
+
79
+ with Manager() as manager:
80
+
81
+ d = manager.dict()
82
+
83
+ test_process = Process(target=test_func, args=(d))
84
+
85
+ print("start")
86
+
87
+ test_process.start()
88
+
89
+ print("finished")
90
+
91
+ break
92
+
93
+ except ccxt.BaseError as e:
94
+
95
+ print(" error in SubProcess : test_func()",e)
96
+
97
+ print("recall")
98
+
99
+ sleep(1)
100
+
101
+
102
+
103
+ #API endpoint
104
+
105
+ url, channel, json_rpc = make_connection()
106
+
107
+ #ctrl + cで終了
108
+
109
+ while True:
110
+
111
+ try:
112
+
113
+ json_rpc.run()
114
+
115
+ break
116
+
117
+ except ccxt.BaseError as e:
118
+
119
+ print(" error in _MAIN_ json_rpc.run()", e)
120
+
121
+ url, channel, json_rpc = make_connection()
122
+
123
+
124
+
125
+ ```
126
+
127
+ ### 発生している問題・エラーメッセージ
128
+
129
+
130
+
131
+ ```
132
+
133
+ (base) C:\test>python websocket.py
134
+
135
+ start
136
+
137
+ finished
138
+
139
+ called _init_
140
+
141
+ websocket.WebSocketApp open 正常終了
142
+
143
+ json_rpc : <__main__.RealtimeAPI object at 0x0000023E460B6D68>
144
+
145
+ --- request header ---
146
+
147
+
148
+
149
+ -----------------------
150
+
151
+ --- response header ---
152
+
153
+
154
+
155
+ -----------------------
156
+
157
+ called on_open
158
+
159
+ connected streaming server
160
+
161
+ send: b'\x81\xd1\x8b\xd1t\xbf\xf0\xf3\x19\xda\xff\xb9\x1b\xdb\xa9\xebT\x9d\xf8\xa4\x16\xcc\xe8\xa3\x1d\xdd\xee\xf3X\x9f\xa9\xa1\x15\xcd\xea\xbc\x07\x9d\xb1\xf1\x0f\x9d\xe8\xb9\x15\xd1\xe5\xb4\x18\x9d\xb1\xf1V\xd3\xe2\xb6\x1c\xcb\xe5\xb8\x1a\xd8\xd4\xb4\x0c\xda\xe8\xa4\x00\xd6\xe4\xbf\x07\xe0\xcd\x89+\xfd\xdf\x92+\xf5\xdb\x88V\xc2\xf6'
162
+
163
+
164
+
165
+ ~~~~~~~~~~~~
166
+
167
+ ~~ websocket 処理~~
168
+
169
+ ~~~~~~~~~~~~
170
+
171
+
172
+
173
+
174
+
175
+ ~~~~~~~~~~~サブプロセスエラー~~~~~~~~~~~~~~~~
176
+
177
+ Process Process-2:
178
+
179
+ Traceback (most recent call last):
180
+
181
+ File "C:\Anaconda3_2\lib\multiprocessing\process.py", line 297, in _bootstrap
182
+
183
+ self.run()
184
+
185
+ File "C:\Anaconda3_2\lib\multiprocessing\process.py", line 99, in run
186
+
187
+ self._target(*self._args, **self._kwargs)
188
+
189
+ TypeError: test_func() missing 1 required positional argument: 'd'
190
+
191
+
192
+
193
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
194
+
195
+
196
+
197
+ ~~~~~~~~~~~~
198
+
199
+ ~~ websocket 処理~~
200
+
201
+ ~~~~~~~~~~~~
202
+
203
+
204
+
205
+ ```
206
+
207
+
208
+
209
+
210
+
211
+ サブプロセスについては最初のプリント文すら表示されません。
212
+
213
+ 何が原因かわかれば教えてください。よろしくお願いします。
214
+
215
+
216
+
217
+
218
+
219
+
220
+
221
+ ### 追記
222
+
223
+
224
+
225
+ ```
226
+
227
+ 初期エラーが改善され、次のエラーが生じたため編集コードとエラーを抜粋して追記します。
228
+
229
+ またサブプロセス1行目のプリント文までは出力されるようになりました。
230
+
231
+ 引き続きよろしくお願いします。
232
+
233
+ ```
234
+
235
+
236
+
237
+
238
+
239
+ ### 発生している問題・エラーメッセージ2
240
+
241
+
242
+
243
+ ```
244
+
245
+ ~~~~~~~~~~~サブプロセスエラー~~~~~~~~~~~~~~~~
246
+
247
+ in test_func started
248
+
249
+ Process Process-2:
250
+
251
+ Traceback (most recent call last):
252
+
253
+ File "C:\Anaconda3_2\lib\multiprocessing\managers.py", line 788, in _callmethod
254
+
255
+ conn = self._tls.connection
256
+
257
+ AttributeError: 'ForkAwareLocal' object has no attribute 'connection'
258
+
259
+
260
+
261
+ During handling of the above exception, another exception occurred:
262
+
263
+
264
+
265
+ Traceback (most recent call last):
266
+
267
+ File "C:\Anaconda3_2\lib\multiprocessing\process.py", line 297, in _bootstrap
268
+
269
+ self.run()
270
+
271
+ File "C:\Anaconda3_2\lib\multiprocessing\process.py", line 99, in run
272
+
273
+ self._target(*self._args, **self._kwargs)
274
+
275
+ File "C:\test\websocket.py", line 563, in test_func
276
+
277
+ d[1] = 200
278
+
279
+ File "<string>", line 2, in __setitem__
280
+
281
+ File "C:\Anaconda3_2\lib\multiprocessing\managers.py", line 792, in _callmethod
282
+
283
+ self._connect()
284
+
285
+ File "C:\Anaconda3_2\lib\multiprocessing\managers.py", line 779, in _connect
286
+
287
+ conn = self._Client(self._token.address, authkey=self._authkey)
288
+
289
+ File "C:\Anaconda3_2\lib\multiprocessing\connection.py", line 490, in Client
290
+
291
+ c = PipeClient(address)
292
+
293
+ File "C:\Anaconda3_2\lib\multiprocessing\connection.py", line 691, in PipeClient
294
+
295
+ _winapi.WaitNamedPipe(address, 1000)
296
+
297
+ FileNotFoundError: [WinError 2] 指定されたファイルが見つかりません。
298
+
299
+
300
+
301
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
302
+
303
+ ```
304
+
305
+
306
+
307
+ ### 該当のソースコード
308
+
309
+
310
+
311
+ ```python
312
+
313
+ # サブプロセス
314
+
315
+ # 変数を2つに修正
316
+
49
317
  def test_func(d,l):
50
318
 
51
319
  print("in test_func")
@@ -68,8 +336,6 @@
68
336
 
69
337
 
70
338
 
71
-
72
-
73
339
  if __name__ == '__main__':
74
340
 
75
341
 
@@ -82,6 +348,8 @@
82
348
 
83
349
  d = manager.dict()
84
350
 
351
+ ### 変数 l を追加 ###
352
+
85
353
  l = manager.list(range(5))
86
354
 
87
355
  test_process = Process(target=test_func, args=(d,l))
@@ -127,129 +395,3 @@
127
395
 
128
396
 
129
397
  ```
130
-
131
- ### 発生している問題・エラーメッセージ
132
-
133
-
134
-
135
- ```
136
-
137
- (base) C:\test>python websocket.py
138
-
139
- start
140
-
141
- finished
142
-
143
- called _init_
144
-
145
- websocket.WebSocketApp open 正常終了
146
-
147
- json_rpc : <__main__.RealtimeAPI object at 0x0000023E460B6D68>
148
-
149
- --- request header ---
150
-
151
-
152
-
153
- -----------------------
154
-
155
- --- response header ---
156
-
157
-
158
-
159
- -----------------------
160
-
161
- called on_open
162
-
163
- connected streaming server
164
-
165
- send: b'\x81\xd1\x8b\xd1t\xbf\xf0\xf3\x19\xda\xff\xb9\x1b\xdb\xa9\xebT\x9d\xf8\xa4\x16\xcc\xe8\xa3\x1d\xdd\xee\xf3X\x9f\xa9\xa1\x15\xcd\xea\xbc\x07\x9d\xb1\xf1\x0f\x9d\xe8\xb9\x15\xd1\xe5\xb4\x18\x9d\xb1\xf1V\xd3\xe2\xb6\x1c\xcb\xe5\xb8\x1a\xd8\xd4\xb4\x0c\xda\xe8\xa4\x00\xd6\xe4\xbf\x07\xe0\xcd\x89+\xfd\xdf\x92+\xf5\xdb\x88V\xc2\xf6'
166
-
167
-
168
-
169
- ~~~~~~~~~~~~
170
-
171
- ~~ websocket 処理~~
172
-
173
- ~~~~~~~~~~~~
174
-
175
-
176
-
177
-
178
-
179
- ~~~~~~~~~~~サブプロセスエラー~~~~~~~~~~~~~~~~
180
-
181
- in test_func
182
-
183
- Process Process-2:
184
-
185
- Traceback (most recent call last):
186
-
187
- File "C:\Anaconda3_2\lib\multiprocessing\managers.py", line 788, in _callmethod
188
-
189
- conn = self._tls.connection
190
-
191
- AttributeError: 'ForkAwareLocal' object has no attribute 'connection'
192
-
193
-
194
-
195
- During handling of the above exception, another exception occurred:
196
-
197
-
198
-
199
- Traceback (most recent call last):
200
-
201
- File "C:\Anaconda3_2\lib\multiprocessing\process.py", line 297, in _bootstrap
202
-
203
- self.run()
204
-
205
- File "C:\Anaconda3_2\lib\multiprocessing\process.py", line 99, in run
206
-
207
- self._target(*self._args, **self._kwargs)
208
-
209
- File "C:\test\websocket.py", line 563, in test_func
210
-
211
- d[1] = 200
212
-
213
- File "<string>", line 2, in __setitem__
214
-
215
- File "C:\Anaconda3_2\lib\multiprocessing\managers.py", line 792, in _callmethod
216
-
217
- self._connect()
218
-
219
- File "C:\Anaconda3_2\lib\multiprocessing\managers.py", line 779, in _connect
220
-
221
- conn = self._Client(self._token.address, authkey=self._authkey)
222
-
223
- File "C:\Anaconda3_2\lib\multiprocessing\connection.py", line 490, in Client
224
-
225
- c = PipeClient(address)
226
-
227
- File "C:\Anaconda3_2\lib\multiprocessing\connection.py", line 691, in PipeClient
228
-
229
- _winapi.WaitNamedPipe(address, 1000)
230
-
231
- FileNotFoundError: [WinError 2] 指定されたファイルが見つかりません。
232
-
233
-
234
-
235
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
236
-
237
-
238
-
239
- ~~~~~~~~~~~~
240
-
241
- ~~ websocket 処理~~
242
-
243
- ~~~~~~~~~~~~
244
-
245
-
246
-
247
- ```
248
-
249
-
250
-
251
-
252
-
253
- 引き続きサブプロセスについては最初のプリント文すら表示されません。
254
-
255
- 何が原因かわかれば教えてください。よろしくお願いします。

1

初回のエラーは解消されて次のエラーが生じたため修正しました

2019/05/12 12:16

投稿

wiz_planet
wiz_planet

スコア13

test CHANGED
File without changes
test CHANGED
@@ -46,18 +46,24 @@
46
46
 
47
47
  # サブプロセス
48
48
 
49
- def test_func(d):
49
+ def test_func(d,l):
50
50
 
51
51
  print("in test_func")
52
52
 
53
53
  d[1] = 200
54
54
 
55
+ print(d[1])
56
+
55
57
  d["test"] = "test1"
56
58
 
59
+ print(d["test"])
60
+
57
61
  while True:
58
62
 
59
63
  print(d)
60
64
 
65
+ print(l)
66
+
61
67
  sleep(0.5)
62
68
 
63
69
 
@@ -76,7 +82,9 @@
76
82
 
77
83
  d = manager.dict()
78
84
 
85
+ l = manager.list(range(5))
86
+
79
- test_process = Process(target=test_func, args=(d))
87
+ test_process = Process(target=test_func, args=(d,l))
80
88
 
81
89
  print("start")
82
90
 
@@ -170,19 +178,59 @@
170
178
 
171
179
  ~~~~~~~~~~~サブプロセスエラー~~~~~~~~~~~~~~~~
172
180
 
181
+ in test_func
182
+
173
183
  Process Process-2:
174
184
 
175
185
  Traceback (most recent call last):
176
186
 
187
+ File "C:\Anaconda3_2\lib\multiprocessing\managers.py", line 788, in _callmethod
188
+
189
+ conn = self._tls.connection
190
+
191
+ AttributeError: 'ForkAwareLocal' object has no attribute 'connection'
192
+
193
+
194
+
195
+ During handling of the above exception, another exception occurred:
196
+
197
+
198
+
199
+ Traceback (most recent call last):
200
+
177
- File "C:\Users\k-tanabe\Anaconda3_2\lib\multiprocessing\process.py", line 297, in _bootstrap
201
+ File "C:\Anaconda3_2\lib\multiprocessing\process.py", line 297, in _bootstrap
178
202
 
179
203
  self.run()
180
204
 
181
- File "C:\Users\k-tanabe\Anaconda3_2\lib\multiprocessing\process.py", line 99, in run
205
+ File "C:\Anaconda3_2\lib\multiprocessing\process.py", line 99, in run
182
206
 
183
207
  self._target(*self._args, **self._kwargs)
184
208
 
209
+ File "C:\test\websocket.py", line 563, in test_func
210
+
211
+ d[1] = 200
212
+
213
+ File "<string>", line 2, in __setitem__
214
+
215
+ File "C:\Anaconda3_2\lib\multiprocessing\managers.py", line 792, in _callmethod
216
+
217
+ self._connect()
218
+
219
+ File "C:\Anaconda3_2\lib\multiprocessing\managers.py", line 779, in _connect
220
+
221
+ conn = self._Client(self._token.address, authkey=self._authkey)
222
+
185
- TypeError: test_func() missing 1 required positional argument: 'd'
223
+ File "C:\Anaconda3_2\lib\multiprocessing\connection.py", line 490, in Client
224
+
225
+ c = PipeClient(address)
226
+
227
+ File "C:\Anaconda3_2\lib\multiprocessing\connection.py", line 691, in PipeClient
228
+
229
+ _winapi.WaitNamedPipe(address, 1000)
230
+
231
+ FileNotFoundError: [WinError 2] 指定されたファイルが見つかりません。
232
+
233
+
186
234
 
187
235
  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
188
236
 
@@ -202,6 +250,6 @@
202
250
 
203
251
 
204
252
 
205
- サブプロセスについては最初のプリント文すら表示されません。
253
+ 引き続きサブプロセスについては最初のプリント文すら表示されません。
206
254
 
207
255
  何が原因かわかれば教えてください。よろしくお願いします。