トップページtech
1002コメント300KB

Pythonのお勉強 Part50

レス数が950を超えています。1000を超えると書き込みができなくなります。
0001デフォルトの名無しさん2014/10/17(金) 00:41:32.40ID:Db3yDsQb
Pythonオフィシャルサイト
http://www.python.org/
日本Pythonユーザ会 (※英語わかる人は上記のオフィシャルの方を見ることをお薦めします)
http://www.python.jp/
まとめWiki
http://python.rdy.jp/
関連スレ
http://find.2ch.net/?BBS=ALL&;TYPE=TITLE&STR=python
Pythonのお勉強 Part49
http://peace.2ch.net/test/read.cgi/tech/1387528488/

日本語の扱いで戸惑ったらこちらをどうぞ(バッドノウハウ集で笑える)
ttp://speirs.blog17.fc2.com/blog-entry-4.html
ttp://atomic.jpn.ph/prog/etc/encode.html
ttp://d.hatena.ne.jp/kakurasan/20100330/p1

ttp://pc11.2ch.net/test/read.cgi/tech/1217836194/339
339 :デフォルトの名無しさん:2008/08/23(土) 08:36:00
PythonのUnicodeEncodeErrorを知る
ttp://lab.hde.co.jp/2008/08/pythonunicodeencodeerror.html

よくまとまってた。あとで読む
0879デフォルトの名無しさん2015/08/07(金) 14:59:34.48ID:3jYJojYP
__next__() 知りませんでした?

>>> cmb = itertools.combinations([1, 2, 3], 2)
>>> for x in cmb:
... print("x =", x)
...
x = (1, 2)
x = (1, 3)
x = (2, 3)
0880デフォルトの名無しさん2015/08/07(金) 15:06:26.19ID:WJjqalcF
next()で呼び出せる、yield (産出する)のことかい?

ruby yield vs python yield
0881デフォルトの名無しさん2015/08/07(金) 22:12:04.67ID:/SQ+qO6x
>>876
リストAからリストBの値を一個ずつ削除していくコードを組めばいいんじゃないか?
0882デフォルトの名無しさん2015/08/07(金) 22:29:57.81ID:3jYJojYP
>>876
>>> L0 = [2, 2, 1, 0]
>>> L1 = [2, 3, 4]
>>> st0 = set(L0)
>>> st1 = set(L1)
>>> st2 = st0 - st1
>>> st2
{0, 1}
>>> L2 = []
>>> for x0 in L0:
... if x0 in st2:
... L2.append(x0)
...
>>> L2
[1, 0]
0883デフォルトの名無しさん2015/08/07(金) 22:32:01.98ID:3jYJojYP
>>881
削除だと、要素が重複する時にどうするか?
で頭を抱えます。
>>> L4 = [4, 4]
>>> L4.remove(4)
>>> L4
[4]

なので、私は、>>882を勧めます。
0884デフォルトの名無しさん2015/08/07(金) 22:38:21.30ID:eSh4n7lV
>>878
いや>>873に言ったんだ
紛らわしくてゴメン
0885デフォルトの名無しさん2015/08/09(日) 19:26:03.16ID:XcPHqnDO
Python のプログラムをお手軽にwebから呼べるアプリケーションにしたい
自分でサーバ立てたりApache設定したりしたくない
Google app engine に間借りするのが一番楽なんでしょうか
どこかに設定済みレンタルサーバみたいのないものか
0886デフォルトの名無しさん2015/08/09(日) 19:36:57.68ID:Dm6GjXRm
普通にDjangoやflaskやBottleなどのフレームワークを使えば
ウェブサーバー使わなくていいじゃん。
0887デフォルトの名無しさん2015/08/10(月) 02:39:35.76ID:XH0nUbFR
Doubleの浮動小数を配列に(メモリに?)最大何個まで入るか調べるには動かしてみるしかないのでしょうか
パソコンのメモリの大きさから計算できないでしょうか
0888デフォルトの名無しさん2015/08/10(月) 10:34:27.46ID:AGT5HrH+
はいよ。

>>> f = 1.0
>>> f.__sizeof__()
24
>>> f10000 = 10.0 ** 10000
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
OverflowError: (34, 'Numerical result out of range')
>>> from decimal import Decimal as D
>>> df10000 = D("10.0") ** 10000
>>> df10000.__sizeof__()
104
>>> L = [None] * (2 ** 24)
>>> L.__sizeof__()
134217768
0889デフォルトの名無しさん2015/08/10(月) 11:06:00.54ID:7hnSrnGJ
リストの最大サイズを聞いてるんじゃないのか?
0890デフォルトの名無しさん2015/08/10(月) 11:30:47.99ID:AGT5HrH+
>>889
malloc() が失敗する時、浮動小数の小数点以下の最大桁数と、
listの要素の数は反比例の関係にあるでしょう?
また、質問者はlistもmemoryを使う前提に気づいていないようでした。

浮動小数一つの要素のmemory sizeを知る方法、
decimal module 使ったobjectの要素のmemory sizeを知る方法、
list の要素数によってPCの使用するmemory sizeが大きく変動する事を
示すために、>>888を書きました。
0891デフォルトの名無しさん2015/08/10(月) 14:39:29.91ID:AGT5HrH+
>>887
$ cat /proc/meminfo | grep Mem
MemTotal: 3867772 kB
MemFree: 2707672 kB
の環境で、

http://pastebin.ca/3096710
を実行すると、bit=26を実行できました。
bit=27は×。

よって、
list_elements =
134217727
list_elements_size_of =
1207959624
が限界付近っぽいので、

max_mem_size=1207959624
として
http://pastebin.ca/3096751
を実行して、
float_objects の最大数は、
37748737
と決定しました。

お試しあれ。
0892デフォルトの名無しさん2015/08/10(月) 22:19:22.15ID:dVO5O3ai
>>885
Heroku
0893デフォルトの名無しさん2015/08/11(火) 06:08:20.62ID:jgY2w2Ww
32bitなら、メモリ空間は4GBで、
その内、カーネルに1GBを使うから、アプリは3GB使える

一方、64bitなら、無限に近い。
仮に物理メモリが8GBだとしても、ページング機能があるので、
USBメモリやHDDを、メモリのように使える

つまり、設定次第
0894デフォルトの名無しさん2015/08/11(火) 10:44:33.16ID:VmWDUo2S
勝手にUSBやHDDにswapされてても良いんだけど
パフォーマンスは落ちるよなー
確実に物理メモリだけで使える範囲を知りたいところである
0895デフォルトの名無しさん2015/08/11(火) 11:21:09.67ID:3YusrhQW
>>885
google app engineはCで書かれたバイナリに依存するライブラリを使えない
なのでAmazaon AWSが良いらしい
https://gist.github.com/Gab-km/5660808
0896デフォルトの名無しさん2015/08/11(火) 11:49:48.12ID:z0IP5VKM
>>894
無駄な考えにこだわってる人って滑稽ですね
壁に体当たり続けてる壊れたチョロQみたいですわ
首の上に頭が載ってないんでしょうね
0897デフォルトの名無しさん2015/08/12(水) 02:51:19.51ID:09N1uJwi
http://qiita.com/icoxfog417/items/1343395a7c42da9426b7
heroku便利そうなんだけど無料の範囲内だと
NumpyもScipyも使えないってことでOK?
0898デフォルトの名無しさん2015/08/12(水) 09:30:33.91ID:+VWy6X24
xreaでもpython動いてるよ
0899デフォルトの名無しさん2015/08/18(火) 11:42:47.60ID:j5KExTo2
pythonからJavaを呼び出すときに
型を指定しないといけないのがjavabridge
型を推定してくれるのがJPype
ということでいいのかな?
そのかわりjavabridgeはpip install javabridgeだけで入る
0900デフォルトの名無しさん2015/09/04(金) 19:30:15.58ID:iUPB2bSH
今日からPython使ってみるわー
おまいらよろしくー
0901名無しさん@お腹いっぱい。2015/09/04(金) 19:38:43.16ID:AjIgKAQa
>>900
君にお薦めの学習サイトを教えてあげよう、ここはかなり良かったぞ
ttp://diveintopython3-ja.rdy.jp/table-of-contents.html
0902デフォルトの名無しさん2015/09/04(金) 19:40:47.54ID:iUPB2bSH
>>901

あんがっと
0903デフォルトの名無しさん2015/09/06(日) 08:00:13.90ID:/Fu+tBiS
Cpythonはどうですか
0904デフォルトの名無しさん2015/09/06(日) 08:04:46.13ID:2A7JkPdq
なにが?
0905デフォルトの名無しさん2015/09/06(日) 08:24:02.72ID:AeNVda8A
ええ、元気ですよ
0906デフォルトの名無しさん2015/09/06(日) 10:18:35.07ID:vnoZtrgz
checkioって後半になるとアルゴリズムとデータ構造と数学が必要になるらしいんですが、どんな本で予習しておくのがいいですか?
0907デフォルトの名無しさん2015/09/06(日) 13:40:47.47ID:AeNVda8A
試験じゃないから予習は必要ないと思うけど

プログラミングコンテスト向けの本とか?
0908デフォルトの名無しさん2015/09/06(日) 14:37:33.24ID:vnoZtrgz
>>907
ありがとうございます。蟻本ってやつで大丈夫ですかね?
0909デフォルトの名無しさん2015/09/06(日) 15:32:55.15ID:AeNVda8A
いいんじゃないかな

他言語で書かれていても参考になる

というか他言語を別のに書き換えるのが一番力が付く

足りない部分はwebで補完するしかないね
ttp://www.geocities.jp/m_hiroi/light/
0910デフォルトの名無しさん2015/09/06(日) 18:54:40.21ID:vnoZtrgz
>>909
>というか他言語を別のに書き換えるのが一番力が付く
そうなんですか。やってみます!どうもです!
0911デフォルトの名無しさん2015/09/15(火) 19:48:21.62ID:8qZta6q5
3.5出たけどやっぱりXPにはインスコできないな
インストーラ画面で次へボタンが出ない
0912デフォルトの名無しさん2015/09/15(火) 22:40:48.41ID:e0XDIV9e
XPってあーた・・・
0913デフォルトの名無しさん2015/09/15(火) 22:44:44.26ID:FPLJInGY
XPならPython2.1くらいが似合ってんじゃね?
0914デフォルトの名無しさん2015/09/15(火) 22:51:32.09ID:e0XDIV9e
つか、ZIP版解凍してパス通すだけなんじゃあ…
0915デフォルトの名無しさん2015/09/15(火) 22:57:31.57ID:FPLJInGY
windowsは結構前からインストーラ版しかないよ
たしか4年くらい前だったか?
まあインストーラでも展開できないことはないし
動けば儲け物だな
動けば
0916デフォルトの名無しさん2015/09/15(火) 23:03:23.17ID:e0XDIV9e
え?…あるけど…
https://www.python.org/downloads/release/python-350/
0917デフォルトの名無しさん2015/09/15(火) 23:14:28.01ID:FPLJInGY
あれ、本当だ
方針が変わったのか?

3.4まではこの通りzipがない
https://www.python.org/downloads/release/python-340/
0918デフォルトの名無しさん2015/09/15(火) 23:28:17.19ID:Jg6lDm0C
上の Notes on this release とそのリンク先に説明が書いてあるね
アプリケーションの一部として配布する用途を主に想定しているようだ
0919デフォルトの名無しさん2015/09/17(木) 10:05:20.54ID:2McEkguz
def f(a,b):
mydic={'a':2,'b':3}
tmp=locals()
print a+b
tmp.update(mydic)
print a+b ##5

print f(5,6)

2つ目のprint a+bで5が表示されるようにしたい
こういう引数の手間省ける方法って何かない?
0920デフォルトの名無しさん2015/09/17(木) 11:34:27.23ID:YRjesxt7
何もないね
0921デフォルトの名無しさん2015/09/17(木) 12:03:47.10ID:IcBqapQo
できましたぁー

>>> def f(a,b):
mydic={'a':2, 'b':3}
tmp=locals()
print(a+b)
tmp.update(mydic)
print(eval('a+b', tmp))


>>> print(f(5,6))
11
5
None
0922デフォルトの名無しさん2015/09/17(木) 12:25:15.40ID:Nh2CPZLE
「手間」とは何を意味しているのか考えさせてくれるね
実に哲学的だ
0923デフォルトの名無しさん2015/09/17(木) 12:35:23.72ID:uahUD83W
そもそも省けてねえしw
0924デフォルトの名無しさん2015/09/20(日) 21:13:15.20ID:tB9gryF0
下記で得たデータの文字化けが解決できないです。
サーバー側の文字処理が間違っているからどうやっても復元できないのでしょうか?

from owslib.wfs import WebFeatureService
wfs11 = WebFeatureService(url='http://map.yamakei-online.com/geoserver/wms/', version='1.1.0')
print(list(wfs11.contents))
response = wfs11.getfeature(typename='yamakei:poi_sangaku')
f = open('poi_sangaku.xml', 'wb')
f.write(response.getvalue())
response.close()
f.close()
0925デフォルトの名無しさん2015/09/20(日) 21:33:31.42ID:UBP8lCYf
サーバーが出す文字列が間違っているんだったら、
こっち側ではどうしようもないでしょう?

ってのが率直な回答。
復元に関する情報を別経路で手に入れれるんなら別
手元でpoi_sangaku.xmlの中身を見て手直しすれば?
0926デフォルトの名無しさん2015/09/21(月) 21:01:11.64ID:dvC4p2Ci
日本語ドキュメントチームの怠慢が目に余る
3.4のWhat's Newなんて、過半が英文のまま放置じゃん
こいつらやる気あんのか
0927デフォルトの名無しさん2015/09/21(月) 21:35:31.83ID:QY3cLhl9
甘やかすとつけあがる
世も末だな
0928デフォルトの名無しさん2015/09/23(水) 03:05:16.67ID:FbQ/mXEL
https://github.com/python-doc-ja/python-doc-ja/issues
0929デフォルトの名無しさん2015/09/23(水) 03:45:47.08ID:3/LdL8W2
>>928
活動してはいるようだけど、お世辞にも活発とは言えんな
3年前に出た3.3のWhat's Newさえほとんど未翻訳というのが信じられん
この体たらくは、もしかしてリーダーが逃亡してしまっているのか?
0930デフォルトの名無しさん2015/09/23(水) 03:58:26.03ID:7yvuxPpl
なんで読まないの?
Transifexでやってるって書いてあるじゃん
3.4は本家ドキュメント落ち着いてからって書いてあるじゃん
0931デフォルトの名無しさん2015/09/23(水) 05:40:56.97ID:LtOlFIiJ
3系になってからhtml配布しなくなったのはなぜなの?
0932デフォルトの名無しさん2015/09/23(水) 06:38:11.32ID:xriyuKn7
本家が落ち着いてからって言ってるのは3.5でしょう
それにTransifexでやってようがどこでやってようが未翻訳部分が大量にあるのは確か
ただそれで文句言うのは間違ってると私は思いますが
0933デフォルトの名無しさん2015/09/23(水) 09:12:44.83ID:vuM6eIZV
英語読めない時点で才能ないから無駄口は叩かなくていい
0934デフォルトの名無しさん2015/09/23(水) 10:50:56.26ID:OTaFG7YG
全くだ
何様なんだろうね
0935デフォルトの名無しさん2015/09/23(水) 11:37:41.99ID:3/LdL8W2
おいおい、それじゃ日本語ドキュメントプロジェクトは誰のためにあるんだ?
日本のPythonユーザーのためじゃないのなら、単なるやつらの部活動なのか?
0936デフォルトの名無しさん2015/09/23(水) 11:58:51.50ID:bvB6hOeM
客商売じゃないんで才能ないお客様は帰ってどうぞ
0937デフォルトの名無しさん2015/09/23(水) 12:13:55.13ID:kWacMEJp
例外をうまく式で扱う方法ってないのか?
例外式の提案 http://legacy.python.org/dev/peps/pep-0463/ は却下されたみたいだし。

例外を出すか調べる論理演算子でもあればいいのに。
if a raise NameError: a = None
みたいにできるように。
0938デフォルトの名無しさん2015/09/23(水) 12:49:34.20ID:gS0ZJsKt
わかりにくいから却下
0939デフォルトの名無しさん2015/09/23(水) 13:20:17.27ID:vuM6eIZV
ないから提案されたんであって
あったら提案されないだろ
そのくらい想像しろよ
0940デフォルトの名無しさん2015/09/23(水) 15:11:36.97ID:/B2V+7z2
>>936
お勉強スレで才能云々するバカ発見
0941デフォルトの名無しさん2015/09/23(水) 16:31:27.82ID:l4aiafkU
職業プログラマーじゃないけどスクリプト言語を一つ覚えたい
定期的にWebから情報を拾ってきたり
業務アプリから出力したCSVを抽出・整形したりしたい
趣味でC#はちょっと覚えたけど、
上記のような用途にはスクリプト言語のほうが向いてるそうなので

Pythonが肌に合いそうな気がするけど微妙な敷居の高さがある
英語苦手なやつお断り、才能ないやつお断り

Rubyは作ってから2年経つとバージョン変わって使えないとかいうし
プロじゃないので言語の最新情報なんて追えないです
Pythonは3を選ぶと当面大丈夫だって聞いたけど・・・
0942デフォルトの名無しさん2015/09/23(水) 16:43:10.97ID:C7BARPuO
英語は出来るに越した事はないな
日本語の情報量も十分あると思うけど

才能は職業マじゃなければ関係なくない?好きに使えば
0943デフォルトの名無しさん2015/09/23(水) 16:53:04.27ID:l4aiafkU
>>942
難しいことをするわけじゃないし考えすぎかな
ありがとう
勉強してみます
0944デフォルトの名無しさん2015/09/23(水) 17:03:20.34ID:C7BARPuO
職業マだったら英語と数学は重要だよ

たまに職業マで数学関係無いとか聞くと
そいつの事技術者として疑う

頼むから同じプロジェクトには来ないで
0945デフォルトの名無しさん2015/09/23(水) 17:54:17.29ID:1o48bTWU
>>943
日本語情報拾うだけでなんでもできるよ
趣味ならそれでもいいし
0946デフォルトの名無しさん2015/09/23(水) 18:46:16.38ID:OTaFG7YG
>>941
Rubyは二年で使えなくなるなんてことはない、無理してバージョン上げなきゃいいだけで
Pythonはそもそも今2と3で分断されちゃってる過渡期なのが面倒
でもだいぶマシになってきたのでPythonやるなら3でOK
英語できなくてもどっちも問題ないが若干Rubyの方が日本語情報多い
Webアプリ作る気があるならRuby、機械学習や自然科学や統計やるなら絶対Python
どっちも興味無いならどっちも差は無いですね
インデントが肌に合うかとかで選んでもいいかと
Perlだけはお勧めしない リードオンリーすぎる
0947デフォルトの名無しさん2015/09/23(水) 20:03:10.14ID:DOrhv1Zg
>>944
数学って十把一絡げにしてる奴こそ来てほしくないわ
どんだけ範囲が広いと思ってるんだよ w
0948デフォルトの名無しさん2015/09/23(水) 20:34:07.76ID:gS0ZJsKt
数学いらないって言われれば
数学の全範囲がいらないって意味だろ

ウェブ屋だったら許すけど、そうじゃなかったら引く
0949デフォルトの名無しさん2015/09/23(水) 21:45:44.93ID:3/LdL8W2
数学が要らないって言う人は、今までの開発経験で数学の知識を必要と
しなかったからそう言ってるわけで、その人にしてみれば嘘偽りはない
いずれ数学の知識が必要な案件に当たれば、認識を改めるだろうさ
むしろ>>944みたいに、個人的な先入観で同僚を頭から敵視する者の方が
プロジェクトで問題起こしやすいと思うわ
0950デフォルトの名無しさん2015/09/23(水) 22:02:02.17ID:DVnzgqqr
python 勉強しようと今日始めました。
ほか言語で修正>ビルド>実行が面倒だと感じたのですが、
部分的にパイソンを使うといいようなことを耳にしたからです。

しかし、ビジュアル的にコンソールでは面白くないと感じて、どうせなら
ファミコンのプログラムもと考え下記をDLしました。
http://gutomaia.net/pyNES/
VisualStudio2013CommunityでPython アプリケーションで 'Hello world' のコンソール画面は出せたのですが、
上記のPyNESとの組み合わせ開発が分かりません。
教えていただくことは可能でしょうか?
0951デフォルトの名無しさん2015/09/23(水) 22:12:40.31ID:AhGUWjsO
不可能です
0952デフォルトの名無しさん2015/09/23(水) 22:58:23.82ID:/B2V+7z2
>>949に一票
0953デフォルトの名無しさん2015/09/24(木) 00:58:10.79ID:KIwTvfAf
>>941 >>950
スクリプト言語はほとんど同じだから、
1つじゃなくて、複数言語を同時に覚えると、
1 + 1 = 1.5 になる

この2冊をこの順に読む
たのしいRuby 第4版、2013
みんなのPython 第3版

先に、「たのしい」で苦しむと、
「みんなの」では楽できる
0954デフォルトの名無しさん2015/09/24(木) 01:10:07.58ID:1jb8sdMQ
>>945
思ったより日本語情報は充実してるんですね

>>946
そうするとRubyも良さそうですね

Perlは昔ちょっと勉強したことがあるけど、しばらく使わないうちに
特殊変数とか暗黙の省略とか全部忘れました
他のちょっとかじった言語(C#とVBA)はいくらか頭に
残ってるのですが

たまにしかプログラミングしないので、記号みたいなやつの暗記が
少なくてすむ言語を覚えたいです

>>953
みんなのPythonは買ってまだ積んだままになってる
Rubyの方も本屋で見てみます

みなさんありがとうございます
0955デフォルトの名無しさん2015/09/24(木) 01:16:39.36ID:Iou7pImp
PyNES の導入方法を知りたいのですが・・・
本の話とは別件なんで別スレ立てたほうが良いですかね?
0956デフォルトの名無しさん2015/09/24(木) 01:44:31.05ID:yESuiQQf
>>955
PyNESなんて聞いたことのないライブラリだから
2ちゃんじゃ回答付かないでしょ
検索で出てこなければ、ダウンロード元のドキュメントを
読み解くしかないと思うよ
0957デフォルトの名無しさん2015/09/24(木) 02:12:04.33ID:qWPG9avH
>>955
『たのしいプログラミング Pythonではじめよう!』という本が出版されているので入手して、コードを入力しながら一通り読んでください。
Pythonに最初から付属しているライブラリだけを使って簡単なグラフィックゲームを作る本で、子供向けに書かれている本なので分かりやすいです。
その本を一通りやったら、「ライブラリを使ってPythonでプログラムを組む」ということがどういうことかイメージできるようになると思います。
外部ライブラリの導入の仕方について思い悩むのはそれからでいいと思いますよ。今日Pythonの勉強を始めたばかりなんでしょ。急がば回れですよ。
0958デフォルトの名無しさん2015/09/24(木) 02:12:48.39ID:KIwTvfAf
ttp://docs.python.jp/3/faq/gui.html

PythonでGUIなら、
Tkinter; wxWidgets; Qt; Gtk+; FLTK; FOX; OpenGL

ゲームなら、
pygame, Kivy
0959デフォルトの名無しさん2015/09/24(木) 21:23:14.56ID:AoG7qtlZ
>>953
> スクリプト言語はほとんど同じだから、
> 1つじゃなくて、複数言語を同時に覚えると、
> 1 + 1 = 1.5 になる

普通に計算するより答えが減っちゃってるけど、
「1+1=2.5」と言いたかった?
0960デフォルトの名無しさん2015/09/24(木) 21:39:06.99ID:ymmhxoL2
>>941
効果でなく労力を表してるんだろう。
0961デフォルトの名無しさん2015/09/24(木) 21:40:04.07ID:ymmhxoL2
何だ941って。直情へのレスです。
0962デフォルトの名無しさん2015/09/24(木) 21:42:27.44ID:ymmhxoL2
何だ直情って。直上だろう。電波で他人の端末を操るのはやめろ。
0963デフォルトの名無しさん2015/09/24(木) 22:42:59.99ID:EiH5SsWi
ほとんど同じなら一つでよくね?
0964デフォルトの名無しさん2015/09/24(木) 23:08:56.05ID:Nm/f3KRL
1+1=200
10倍だぞ〜
0965デフォルトの名無しさん2015/09/25(金) 00:28:22.36ID:JDDH6QSr
>>956
>>957
いろいろ回答ありがとうございます。参考になりました。
組み込みのメリットも後ほど調べたほうが良いですね
0966デフォルトの名無しさん2015/09/25(金) 19:22:51.45ID:JDDH6QSr
>>956
>>957
pyNES 人気ないですね。
深入りする前にアドバイスもらって助かりました。
情報量やその他など考えたら、pygame の選択がベストですね。
0967デフォルトの名無しさん2015/09/28(月) 02:28:34.65ID:fF+UIRom
今まで、numpyやmatplotlib, scipy関連をインストして、
グラフ系のモジュールが使えていたのに、急に、使えなくなってしまいました。
Anacondaコマンドで、ipythonをよく使っています。Notebookの方で表示されていた
グラフや配列関係の計算も、すべて出来なくなってしまいました。pygameを
入れてから変になったのかと思い、それをアンインストールしても結果は、同じ。

そのエラーメッセージで頻繁に表示されるのは、

--->29 import numpy.ma as ma
ImportError: No module named ma

または、

--->69 from numpy import show_config as show_numpy_config
ImportError: cannot import name show_config

が出ます。

matplotlib, numpy, scipy は適切なものが入っている状態です。

使用しているpythonのバージョンは、python2.7.10です。初心者なので、どうやって直したら
いいのか分かりません。詳しい方がいらしたら、是非、ご教示下さい。
よろしくお願いします。m(__)m
0968デフォルトの名無しさん2015/09/28(月) 03:35:58.28ID:fF+UIRom
どうもnumpyがおかしい感じがするので、ネットで
見つけた下記の方法【】でそれをテストしてみると、
2,3を除いて(FAIL表示されたファイルを見てもよく分からない)
だいたいOKだったけれど、最後の行に

AttributeError: 'module'object has no attribute 'ndarray'
Out[17]:False

とエラーが表示されてしまう。


【python上でnumpyのテスト
コマンドラインなどで、
import numpy
numpy.test() 
とテストを走らせ、正常に表示されれば成功】
0969デフォルトの名無しさん2015/09/28(月) 05:11:48.65ID:mTZVEwhb
>>967
>29 import numpy.ma as ma

モジュールのインポートの仕方は、
import sys, os

import math as m
import モジュール名 as 名前
0970デフォルトの名無しさん2015/09/28(月) 05:20:19.87ID:mTZVEwhb
>>967
>69 from numpy import show_config as show_numpy_config

import numpy
numpy.show_config

とそのまま使う
0971デフォルトの名無しさん2015/09/28(月) 05:32:14.61ID:mTZVEwhb
>>968
>AttributeError: 'module'object has no attribute 'ndarray'

module.ndarray
外部から参照できない・呼び出せない
0972デフォルトの名無しさん2015/09/28(月) 07:39:33.35ID:fF+UIRom
>>969>>970>>971

ファイルからは、普通に from matplotlib import pyplot
みたいな感じでモジュール指定しているだけなのに、それを実行すると

なぜか、import numpy.ma as ma  ImportError: No module named ma や
ImportError: cannot import name show_config という、こちらが指定した
覚えのないエラーが出てしまうのです。エラーで指摘されている
場所にあるファイルを探してみると、そのimport文は、下記のようになっていました。
最後のところが、よくエラー文に出てくるものです。


"""
A collection of utility functions and classes. Originally, many
(but not all) were
from the Python Cookbook -- hence the name cbook.

This module is safe to import
from anywhere within matplotlib;
it imports matplotlib only at runtime.

"""
0973デフォルトの名無しさん2015/09/28(月) 07:41:11.94ID:fF+UIRom
from __future__ import print_function

import datetime
import errno
from functools
import reduce
import glob
import gzip
import io
import locale
import os
import re
import sys
import threading
import time
import traceback
import types
import warnings
from weakref
import ref, WeakKeyDictionary

import numpy as np
import numpy.ma as ma
0974デフォルトの名無しさん2015/09/28(月) 07:58:46.00ID:IO8tvITs
matplotlibから使えないのは分かったよ
そもそもnumpy単体は使えるか?
エラーが起き出してから自分でimport numpyしてみたか
あと

import numpy
print numpy.__file__
print numpy.version.version
print dir(numpy)

の結果が知りたい
0975デフォルトの名無しさん2015/09/28(月) 08:25:07.62ID:fF+UIRom
>>974

結果は、

In[1]: import numpy(これは入ります)
In[2]: print numpy.__file__
numpy.pyc(←のように表示された)

In[3]: print numpy.version.version
AttributeError Traceback(most recent call last)
<ipython-input-3-ebb78096327b>in <module>()
---> 1 print numpy.version.version

AttributeError: 'module' object has no attribute 'version'

In[4]: print dir(numpy)
[リスト形式で'Abs''acos',''などが大量(50行以上)に出てくる状態です
数学っぽいものが多い]
0976デフォルトの名無しさん2015/09/28(月) 08:34:30.89ID:fF+UIRom
>>974
import numpy は単体で入るのですが、
そのあと、それでarray()なりarange()などを使って
簡単な計算でnumpyが使えるかを実験してみると、
エラーになってしまいます。

要するに、numpy系のものがグラフ含めて、
ほとんど使えない感じです。一昨日までは、
それらが全部普通に使えていたと思います。
0977デフォルトの名無しさん2015/09/28(月) 08:47:12.18ID:mTZVEwhb
>>973
>import numpy.ma as ma

一番下の行に、君か誰かが、
間違ったものを付け足したのだろう。
コメントアウトすれば?

>>975
>AttributeError: 'module' object has no attribute 'version'

module.version
外部から参照できない・呼び出せない
0978デフォルトの名無しさん2015/09/28(月) 08:59:13.09ID:fF+UIRom
>>977

:デフォルトの名無しさん:2015/09/28(月) 08:47:12.18 ID:mTZVEwhb>>973
>import numpy.ma as ma

一番下の行に、君か誰かが、
間違ったものを付け足したのだろう。
コメントアウトすれば?



そう思って、既にj実験済みなのですが、その箇所をコメントアウトして実行してみたら、
今度は別の箇所に対するエラーが結構たくさん出るようになったので、元通りにしました。
numpy.ma()という関数は実際にあって、なにかに使えるものらしいので、
別のファイルに入っているimport numpy.ma as maというコードや表示が実際に
間違ったコードなのかどうかは、分かりません。
レス数が950を超えています。1000を超えると書き込みができなくなります。