13/03/24 16:19:27.06
たまにこういう流れになるなこのスレ
質問の前提を変えずに解決法を提示するという当たり前のことがわかってない人が若干名いるんだよね
「そんなことするな」「やらなければいい」って猿でも言える
馬鹿な人ほど問題の前提をひっくり返して解決した気になるって誰かが言ってたけど至言だと思う
解決策が思いつかない自分の駄目さから無意識のうちに目を背けようとしてるんだってさ
854:デフォルトの名無しさん
13/03/24 16:47:24.18
>>842
if v in [Firefox, Chrome, Opera, Safari]:
でいけるはず、やってみそ
855:デフォルトの名無しさん
13/03/24 16:49:33.96
学校のお勉強じゃねーんだから、
質問の前提を変えちゃダメなんてルールは無い
馬鹿げた質問には馬鹿だと教えてやるのが親切ってもんだ
856:デフォルトの名無しさん
13/03/24 17:04:38.04
2行目は同意だが3行目は全く同意しない
カスの世話だ
857:デフォルトの名無しさん
13/03/24 17:22:23.10
まあどうせ自演なんだし
858:デフォルトの名無しさん
13/03/24 17:54:06.13
イ`ヘ
/: :| ヽ
/ : :/ ヽ ___ _,,,:. .-: :´彡フ
_ノ\_∠: : : : : : : : :`: :-: :,:_:/彡 /
( : : : : : : : : : : : : : : `ゝ /
マ r::/: /: : | : : : : : : : : ::\ /
//: /: : : |: : | |: : |: _: : : :ヽ
ジ {/ 7|`\/i: /|:|/|´: : : : :|ヽ
〉 ,‐-‐、`|7 || |_::|,_|: : :|:::|: |
で / r:oヽ` /.:oヽヽ: :|: | :|
{ {o:::::::} {:::::0 }/: :|N
っ | ヾ:::ソ ヾ:::ソ /|: : |
!? ヽ::::ー-.. /ヽ ..ー-::: ヽ::| r--ッ
-tヽ/´|`::::::::::;/ `、 ::::::::::: /: i } >
::∧: : :|: |J \ / /::i: | /_ゝ
. \ヾ: |::|` - ,, ___`-´_ ,, - ´|: : :|:::|
ヽ: |::|\  ̄/ /| |: : :|: |
859:デフォルトの名無しさん
13/03/24 18:07:25.89
>>853
そもそも管理すべきデータを間違ってとらえているから
変数名をデータとして扱いたいなんて要求が出るんだよね。
これは完全に設計上の謝りで、質問の前提を変えるなどという問題ではないよ。
特にこの場合は初心者特有の間違いだから、回答としては「そんなことするな」が正解。
ちなみに質問の前提を変えて問題を解決するなんて、馬鹿には無理。
860:デフォルトの名無しさん
13/03/24 18:14:05.63
誰も正解なんて質問してねーんだよ
痴れたことを
861:デフォルトの名無しさん
13/03/24 18:24:00.77
モヒカンは精神的な欠陥を抱えてて歩み寄りを絶対にしないので、無視すんのが正解。
862:デフォルトの名無しさん
13/03/24 20:01:31.30
>>859
ここは「くだすれPython(超初心者用)その16」というスレ
超初心者には馬鹿に見える秀才君がたくさんいます
超初心者には「そんなことするな」という回答が理解できません
>>859 はスレチ
863:デフォルトの名無しさん
13/03/24 20:03:32.87
無視すんのが正解つったろーがタコ。
864:デフォルトの名無しさん
13/03/24 20:46:51.71
>>862
なんだ荒らしたいのか?変な人に絡んでしまった。
865:デフォルトの名無しさん
13/03/24 20:48:55.27
待ってましたとばかりにアンカー付けちゃってンモーww
866:デフォルトの名無しさん
13/03/24 21:29:28.26
わからなかったら入力データと出力形式だけ書けばいいんだよ
そうしたら最適なコードを書きたい人が書いてくれるから
867:デフォルトの名無しさん
13/03/24 21:46:21.06
Windows用のPythonってインストーラー形式しかないんですか?
zip形式のってないんですか?
868:デフォルトの名無しさん
13/03/24 21:48:19.23
portable python
869:デフォルトの名無しさん
13/03/24 21:52:00.99
普通になかったか
870:デフォルトの名無しさん
13/03/24 21:55:02.19
2.7.4 RC1来てるやん
871:デフォルトの名無しさん
13/03/25 14:48:14.02
質問です。宜しくおねがいします。
オブジェクトをメンバーに持つオブジェクトがあったとします。メンバー側のオブジェクトから親のオブジェクトを参照する
方法はありますか?
例えば
import random
class Ko(object):
def __init__(self,a,b):
self.a=a
self.b=b
class Oya(object):
def __init__(self,x,y,z)
self.kodomo=Ko(x,y)
self.z=z
kodomotachi=[]
oya1=Oya(1,2,3)
oya2=Oya(3,4,5)
oya3=Oya(31,41,51)
oya4=Oya(11,21,31)
kodomotachi.append(oya1.kodomo)
kodomotachi.append(oya2.kodomo)
kodomotachi.append(oya3.kodomo)
kodomotachi.append(oya4.kodomo)
kodomotachi.remove(kodomotachi[random.randint(0,3)])
としたとき、kodomotachiリストはOyaオブジェクトのインスタンスのkodomoメンバで構成されてる
訳ですが、たとえば上記のようにkodomotachiリストの内容が不明な時に、
kodomotachi[2]などから親オブジェクトを参照する方法はありますか?
872:デフォルトの名無しさん
13/03/25 15:40:25.14
混乱してきた・・・
parentとchildで書き直して
873:デフォルトの名無しさん
13/03/25 15:44:09.12
>>871
KoクラスにOyaインスタンスへの参照を保持する変数を入れとけばいいんじゃないの
874:デフォルトの名無しさん
13/03/25 15:58:31.87
hogoshakai = []
hogoshakai.append(oya1)
hogoshakai.append(oya2)
hogoshakai.append(oya3)
hogoshakai.append(oya4)
o = [oya for oya in hogoshakai if oya.kodomo == kodomotachi[2]]
875:デフォルトの名無しさん
13/03/25 16:21:40.01
はい、次
876:デフォルトの名無しさん
13/03/25 16:29:05.34
o = [oya for oya in locals() if isinstance(oya, Oya) and oya.kodomo == kodomotachi[2]]
877:デフォルトの名無しさん
13/03/25 19:18:34.73
何この拷問
import random
class Ko(object):
def __init__(self,a,b,c):
self.a=a
self.b=b
self.c=c
class Oya(object):
def __init__(self,x,y,z)
self.kodomo=Ko(x,y,self)
self.z=z
...
kodomotachi[2].c
ハァハァ、、、ツカレタ、、、ハァハァ
タメシテナイカラ、ダメダッタラゴメンネ
878:871
13/03/26 08:57:54.62
>>874
>>876
>>877
みなさん有り難うございました。実はpymunkという物理エンジンを簡単に使うために、○とか□とかの物体をpymunk純正のshapeとかbodyとかのオブジェクトと
ともにpygameの描画メソッドつきのクラスにした自分用ラッパーライブラリを作っています。
pymunkの世界(space)にshapeとかbodyとかの物体情報をappendしてくんですが、衝突判定機能なんかで登録したbodyなどの純正オブジェクトは返り値として
得られるのですが、それらを内包する自作オブジェクトを得る方法はないかと悩んでました。
と言う訳で、メンバ側のオブジェクトは改造しづらい状況なので874さん、876さんの方法でいってみます。
でも877さんのメンバ側のオブジェクトに親オブジェクトの情報を持たせる方法も目から鱗でした。
みなさん、有り難うございました。
879:質問(前編)
13/03/26 12:18:44.74
1.Python覚えたいんですけど何で日本ではRubyが流行ってるんでしょうか?
2.RubyでいうRailsみたいなフレームワークはPythonではなんでしょうか?
3.PHPでいうPear、Rubyでいうgem、Pythonではなんでしょうか?
4.今からPython3.3で勉強しても問題ないでしょうか?
5.RubyでいうHerokuみたいな無料で使えるクラウドがありますがPython3.3が動くクラウドってありませんか?
880:質問(後編)
13/03/26 12:21:04.50
6.PythonはWindowsでコードを書いても問題ないでしょうか?
7.PythonではテキストエディタとIDEどっちを使うほうがいいでしょうか?
8.Pythonの定番のGUI作成ライブラリってありますか?
9.Pythonで構築されたサイトのまとめってありませんか?python.jpで公式に取り上げてませんか?
10.文字コードは基本utf8bomなしで改行コードはLFでコード書くものでしょうか?
881:デフォルトの名無しさん
13/03/26 12:26:45.26
1. 日本人は英語出来ないから
2. django
3. pypi, easy_install
4. 大丈v
5. あります
6. 問題ない
7. 俺はvim
8. tkinter, qt
9. python.org
10. yes
882:デフォルトの名無しさん
13/03/26 12:29:02.06
テンプレに入れてください
883:デフォルトの名無しさん
13/03/26 12:36:39.66
日本人の大半はマニュアル英語すら読めないから
Djangoとか
PyPi
ほとんどローカルでしか使えないと思うけどそれでよければ
ない
いいよ
両方使ってみて自分に合う方
Python3希望しているなら今のところ諸手を挙げたお勧めはない
日本語の資料を希望しているならない
そんな制限はない
884:デフォルトの名無しさん
13/03/26 13:35:44.30
あえてPythonを使う積極的な理由はありますか?
どうせいやいや使ってるんでしょう?
885:デフォルトの名無しさん
13/03/26 14:12:26.12
このスレはこういう煽りに来たお客さんに真面目に答えてる馬鹿がいて偉いなあと思う
886:デフォルトの名無しさん
13/03/26 14:13:34.27
>>884
楽しいから
それだけ
887:デフォルトの名無しさん
13/03/26 14:14:03.29
>>884
俺はRuby/PHP/Perlがキモすぎて嫌だから。
適用分野はかぶっているので、Python嫌ならRuby/PHP/Perl使っとけばいいんじゃね?
888:デフォルトの名無しさん
13/03/26 14:14:58.05
>>885
それが「Pythonコミュニティー怖い」と言われる所以かもな。
889:デフォルトの名無しさん
13/03/26 14:52:09.74
コミュニティ障碍
890:871
13/03/26 16:38:40.97
>>886
同意。
キモいと言われるかもしれないが俺もPythonは楽しいです。
とっかかりは簡単でも奥が深い(俺が浅いのかも)言語だと信じてます。
objective-C、JAVA、JAVAscriptと挫折した俺だけど、Pythonではちょこちょこ作れてます。
891:デフォルトの名無しさん
13/03/26 22:38:10.15
Ubuntuに3系のPythonをインストールするともともと入っている2系とトラブルを起こすというレスを見たのですが、ソフトウェアセンターからのダウンロードでも状況は同じでしょうか?
892:デフォルトの名無しさん
13/03/26 22:51:34.35
>>891
問題は起きない
「python3」の名前でpathが通る
893:879
13/03/26 23:02:26.32
ありがとうございます
894:デフォルトの名無しさん
13/03/27 05:35:20.83
>>892
ありがとうございます。
これで安心してインストール出来ます。
895:デフォルトの名無しさん
13/03/27 15:05:10.25
>>890
Pythonは書きやすいし読みやすいからストレスが貯まり辛いよね
多分Rubyでも同じような印象を受けると思う
PythonとRubyはプログラミングの入り口に最適だと思う
>>891
ちなみにUbuntu12.10だとデフォルトでpython3.2が入ってるので楽だよ
「python3」で3系 「python」で2系にpathが通ってる
896:デフォルトの名無しさん
13/03/27 15:56:55.95
やはりpythonの本流は2.Xだな
897:デフォルトの名無しさん
13/03/27 16:05:57.26
>>895
本当に入ってました!
ありがとうございます。
898:デフォルトの名無しさん
13/03/27 18:40:07.30
疑っとったんかい!
899:デフォルトの名無しさん
13/03/27 21:31:23.64
>>898
いえ、嬉しかっただけです。
900:デフォルトの名無しさん
13/03/27 21:36:05.19
疑って掛かるのはいいことだぞ~
ここをどこだと思ってる
901:デフォルトの名無しさん
13/03/27 22:21:01.30
下のphpコードpythonでどう書くのか教えてください!
class A
{
private $str;
public function setStr($s){
$this->str = $s;
}
public function getStr(){
return $this->str;
}
protected test1($n) {
return ($n + 10) * 2;
}
private test2($n) {
return $n * 2;
}
}
902:デフォルトの名無しさん
13/03/27 22:26:18.39
class A:
def __init__(self):
self.__str = None
def setStr(self, s):
self.__str = s
def getStr(self, s):
return self.__str
def test1(self, n):#protectedは無い
return (n + 10) * 2
def __test2(self, n):
return n * 2
903:デフォルトの名無しさん
13/03/28 00:07:14.85
メソッド名がアンダースコアから始まるものは外部に非公開とみなすコーディングスタイルがある(pep8)
904:デフォルトの名無しさん
13/03/28 00:39:53.91
>>902-903
JavaとPHPからPythonくるとなんか違和感がありますがこういうものって覚えるしかなさそうですね
どうもありがとうございます
905:871
13/03/28 13:02:51.85
>>904
CとPythonしか書いたことのないあっしですが、上の例を拝見するとPHPよりPythonの方がすっきりしてるように見えるなぁ....。
まぁ、慣れの問題なんでしょうけど....。
やたらとself連呼なのが嫌だってアンチの人は言うけど、どうなんでしょね? 少なくとも、あっしは気になりませんが。
906:デフォルトの名無しさん
13/03/28 13:58:33.69
windows python3.3でpyyamlを使う場合はURLリンク(pyyaml.org)の中でどれをダウンロードしたらいいですか?
907:デフォルトの名無しさん
13/03/28 14:10:35.59
>>906
3.08以上のやつ
908:デフォルトの名無しさん
13/03/28 14:27:24.20
URLリンク(pyyaml.org)にセットアップ方法が書かれているのですが
PyYAML-3.10.zipをダウンロードしました
python setup.py install
python setup.py --with-libyaml install
ってやるとインストールようなんですが、たとえばPython3.3をアンインストールしたらpyyamlもアンインストールされるのですかね?
Pythonを入れなおした場合、またpyyamlはインストールしなおさないといけないのでしょうか?
909:デフォルトの名無しさん
13/03/28 14:34:54.21
>python setup.py --with-libyaml install
>ってやるとインストールようなんですが、たとえばPython3.3をアンインストールしたらpyyamlもアンインストールされるのですかね?
されない
>Pythonを入れなおした場合、またpyyamlはインストールしなおさないといけないのでしょうか?
しなおさないといけない
910:デフォルトの名無しさん
13/03/28 16:11:05.20
ありがとうございます
911:デフォルトの名無しさん
13/03/29 16:02:49.59
パーフェクトPythonを見ながらUbuntuにインストールしているのですが
$ apt-cache show python3 | grep 'Version'
$ sudo apt-get install python3.3 python3.3-dev
$ mkdir projects
$ cd projects
ここから先ができません。
$ pyvenv default
$ source default/bin/activate
$ wget URLリンク(python-distribute.org)
$ python distribute_setup.py
$ easy_install pip
912:デフォルトの名無しさん
13/03/29 20:54:27.59
>>911
書いてあるコマンドは実行できるよ
どこが出来ないのかわからないから人に伝える時の方法を教えよう
「このコマンドを打ったら」「こんなエラーが出ました」
「エラー内容:表示された英語全部(長い時は最初と最後の100文字くらい)」
913:デフォルトの名無しさん
13/03/29 22:17:09.44
CentOS6.4のpython2.6.6を使って、スクリプト内で__debug__の切り替えを行おうと思って、
#!/usr/bin/env PYTHONOPTIMIZE=1 python
print __debug__
みたいなファイルを作って実行すると固まるし、
#!/usr/bin/env python -O
print __debug__
みたいにすると「そのようなファイルやディレクトリはありません」と言われて動かない。
同じファイルを手元のMac(python2.7.3)で動かすと問題なく動くんだけど、なんででしょう?
914:デフォルトの名無しさん
13/03/29 22:47:59.29
自己レスです。
ググってたら、CentOSだと #! でのenvの引数は1つしか指定できないみたい。
原因は分かったけど、切り替えの解決法が分からない。
rubyだと
#!/bin/sh
exec ruby -x "$0" "$@"
#!ruby
puts 'Hello world!'
みたいな記法があるみたいだけど・・・・
915:デフォルトの名無しさん
13/03/29 23:52:24.99
自己レスです
#!/usr/bin/env bash
''''exec python -O -- "$0" ${1+"$@"} # '''
print __debug__
これで出来ました。
916:デフォルトの名無しさん
13/03/30 04:15:51.59
Python関係ないね
917:デフォルトの名無しさん
13/03/30 07:53:05.90
いや、シェルスクリプトとしてもPythonスクリプトとしても動くスクリプトになってる
918:911
13/03/30 11:03:45.47
>>912
説明不足ですみません
pyvenv コマンドが見つかりませんとでました
調べたら
pyvenv-3.3 default
でできました。
python distribute_setup.py
をすると
/local/bin /local/libにインストールされるバグ?
URLリンク(bugs.python.org)
easy_install pip
パスがないためインストールできないようです。
919:デフォルトの名無しさん
13/03/30 15:05:57.45
>>918
コマンド打ってエラー出たらそのエラー書かないと
ubuntuならeasy_install使いたいなら
$ sudo apt-get install python-setuptools
920:918
13/04/02 13:15:34.34
>>919
インストールしましたがpython3.3は未対応のようです。
921:デフォルトの名無しさん
13/04/02 20:17:54.74
ubuntuってpython3.2じゃない?3.3のパケジはPPAか何か?
922:デフォルトの名無しさん
13/04/02 20:30:48.26
調べたよ PPA Py3.3 Default, Py3.2 Supported
URLリンク(launchpad.net)
$ sudo add-apt-repository ppa:ubuntu-rebuilds/py3.3
$ sudo apt-get update
$ sudo apt-get upgrade
$ sudo apt-get install python-pip
923:デフォルトの名無しさん
13/04/02 21:32:13.10
Linuxはこの辺がやたらと面倒だねえ
Windowsならインストーラ一個落として
Wクリ一発で済むのに
924:デフォルトの名無しさん
13/04/02 21:33:39.37
linuxでもyumですぐじゃん
925:デフォルトの名無しさん
13/04/02 21:37:38.77
>>923
いやこの辺はWindowsのほうがよっぽど面倒。
926:デフォルトの名無しさん
13/04/02 21:49:16.43
>>925
インストーラWクリの
どこがどう面倒なのか説得力ある説明よろしく
927:デフォルトの名無しさん
13/04/02 21:52:38.95
>>926
ボタンのある位置までマウスポインタを動かして、そこからずれない様に
マウスを固定しつつ、すばやく二度もクリックしなければいけないのに
どこがどう面倒じゃないのか説得力のある説明よろしく
928:デフォルトの名無しさん
13/04/02 21:55:48.52
そもそも「パーフェクトPython」を買ってLinux使っている人
の質問じゃないという
ここが超初心者スレであっても
929:デフォルトの名無しさん
13/04/02 22:00:58.86
>>923
>>911はWindowsだとWクリック一発で済むの?ほんと?
930:デフォルトの名無しさん
13/04/02 22:03:59.08
インストーラのウィザードをクリックで進めなきゃいけないよ
オプション選択もある
931:デフォルトの名無しさん
13/04/02 22:06:54.37
現にトラブってんだから大人しく窓使ってろって話
932:デフォルトの名無しさん
13/04/02 22:06:59.42
>>929
WindowsPCの一台くらい持ってるだろ?
やってみれよ。
933:デフォルトの名無しさん
13/04/02 22:13:06.44
Linuxは中でPythonが非常に重要な役割で動いてる
よってデフォルトじゃないバージョンを入れるには注意しないと環境が壊れる
WindowsはPythonがよそ者だから何をしても壊れない
934:デフォルトの名無しさん
13/04/02 22:13:16.10
本が意味も無くLinuxと3.3を薦めてんだろ
読んでないけど想像はつくな
935:デフォルトの名無しさん
13/04/02 22:18:45.89
パーフェクトPythonのLinuxの説明はめちゃくちゃ
良い子は真似すんなよ
936:デフォルトの名無しさん
13/04/02 22:20:07.06
気になるから立ち読みしてボロクソに批判しようかな
937:デフォルトの名無しさん
13/04/02 22:31:52.65
パーフェクトPythonは最後まで立ち読みしてきたけどクソ技術書だねこれ
読み終わった後レジの横にあったゴミ箱に捨ててきた
938:デフォルトの名無しさん
13/04/02 22:40:38.13
>>933
よそ者の在日民主が暴れても国は揺るがないが
自民が売国すると国が死ぬみたいなものだな
939:デフォルトの名無しさん
13/04/02 22:47:53.56
>>926
そもそもソフトごとのインストーラなんてものがない。
パッケージマネージャ使う。
新たにインスコしたければ、他のいろんなパッケージと同様にパッケージマネージャから
インスコしたいパッケージ選ぶだけ。
バージョンが上がればパッケージマネージャが他のパッケージと一緒にバージョンアップ
してくれる。
Lunixでpipやeasy_install使うのはパッケージマネージャの管理外になるので邪道。
>>933
使ったことない奴が何言ってんのよ。
940:デフォルトの名無しさん
13/04/02 22:50:48.42
パッケージリポジトリに登録されてるバージョンが最新じゃなかったりして
自分でビルドする羽目になるよね(´・ω・`)
941:デフォルトの名無しさん
13/04/02 22:54:48.43
Linuxは中でPythonが非常に重要な役割で動いてる
よってデフォルトじゃないバージョンを入れるには注意しないと環境が壊れる
自分で使うバージョンは自分でビルドしたほうが安心
942:デフォルトの名無しさん
13/04/02 22:55:13.43
>>939
こいつ使ったことない絶対w
pipはpipでアップデートするんだよw
パケジなんてなくても.tar.gzからでもインスト出来るし管理出来るかどうかだろ?
何が邪道だw Linux使えてない人が言うでない
943:デフォルトの名無しさん
13/04/02 23:04:36.89
ディストロのリポジトリに入ってるのが古かったり
Pythonのバージョン上げると問題が出てきたりするから
上の例ではvenvなんかで仮想環境を掘ってるんだろう
と思うんだけど本の現物を見てみないとなんとも
944:デフォルトの名無しさん
13/04/02 23:10:53.89
後方互換性無くしたバカは切腹しろ
945:デフォルトの名無しさん
13/04/02 23:40:26.88
>>942
Linux使ったことないおまいさんには理解できない世界かもしれんけど、
Linuxではそのシステムにインストールされてるパッケージは全部パッケージマネージャが管理するのが前提なんだよ。
パッケージマネージャが各パッケージの依存関係も管理するから。
pythonのパッケージもディストリビューションのリポジトリに入ってるのをパッケージマネージャでインスコする。
その範囲であればディストリビューションが動作を確認してることを意味する。
それ以外の手段でインスコしたパッケージは自分で管理しなければならない。
UbuntuなりFedoraなり大体のディストリビューションはウェブからリポジトリのパッケージ検索できるから確認してみそ。
946:デフォルトの名無しさん
13/04/02 23:43:08.79
いやいや独自のパッケージマネージャを使ってるPython使っといてそれはちょっと…
947:デフォルトの名無しさん
13/04/03 00:00:47.59
例えばブラウザのアドオン・拡張機能・プラグインは
独自インストールですしお寿司
948:デフォルトの名無しさん
13/04/03 00:05:37.80
>>918
(default) $ python distribute_setup.py
がうまくいったとして、
(default) $ echo $PATH
(default) $ ls -l default/bin
(default) $ which easy_install
の入力と出力それぞれ貼ってみて
949:デフォルトの名無しさん
13/04/03 00:39:10.40
バグほったらかしのdebとか産廃だから処分してくれないとなあ
950:デフォルトの名無しさん
13/04/03 00:48:12.94
つかメンテナが飽きて保守されなくなりました通知がマジで欲しい
951:918
13/04/03 09:36:07.17
>>948
$ echo $PATH
/home/ubuntu/projects/default/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
$ ls -l default/bin
合計 8
-rw-r--r-- 1 ubuntu ubuntu 2150 3月 29 10:33 activate
-rwxr-xr-x 1 ubuntu ubuntu 121 3月 29 10:33 pydoc
lrwxrwxrwx 1 ubuntu ubuntu 9 3月 29 10:33 python -> python3.3
lrwxrwxrwx 1 ubuntu ubuntu 9 3月 29 10:33 python3 -> python3.3
lrwxrwxrwx 1 ubuntu ubuntu 18 3月 29 10:33 python3.3 -> /usr/bin/python3.3
$ which easy_install
/usr/local/bin/easy_install
952:デフォルトの名無しさん
13/04/03 10:36:31.78
>>951
$ source default/bin/activate して仮想環境が有効になった状態で
(default) $ python distribute_setup.py したのなら
easy_install は default/bin に入るんじゃないかと思う
というわけで仮想環境が有効になっていない状態で
$ python distribute_setup.py した可能性はない?
953:デフォルトの名無しさん
13/04/03 11:40:03.30
>>911,918,920,951
おっと先に回答があったようですが
Python3.3のvenvを試す
URLリンク(ymotongpoo.hatenablog.com)
$ pyvenv-3.3 default
このコマンドで default/ というディレクトリを作成し
default/ 以下のPython環境を3.3としている
ただこれ、このディレクトリに入ったら自動でその環境になるわけではなく
そこに作られた default/bin/activate を読み込むことでその環境になる
$ default/bin/activate を実行すると仮想環境(今回は3.3)になり
環境から抜けるには $ deactivate
簡単に理解するには以下のようにインタプリタを呼び出してみるとわかる
$ default/bin/activate
----------------------------------------
(default) $ python
----------------------------------------
Python 3.3.0
>>> exit()
(default) $ deactivate
----------------------------------------
$ python
----------------------------------------
Python 2.7.3
>>> exit()
954:デフォルトの名無しさん
13/04/03 11:55:21.13
>>953
bin/activate は直接実行ではなく source しなきゃいけない
というか直接実行できないようになってるはず
955:デフォルトの名無しさん
13/04/03 12:01:07.74
$ python -V
Python 2.7.3
$
956:デフォルトの名無しさん
13/04/03 12:47:57.72
てかまだvirtualenv使ってる方がいい
pysetupもまだだし
957:918
13/04/03 14:10:35.24
>>952
ubuntuを再インストールして試してみましたが
/local/binにインストールされます。
コマンド
$ sudo apt-get install python3.3 python3.3-dev
$ mkdir projects
$ cd projects
$ pyvenv-3.3 default
$ source default/bin/activate
$ wget URLリンク(python-distribute.org)
$ python distribute_setup.py
958:デフォルトの名無しさん
13/04/03 15:27:10.10
>>957
source したらプロンプトの左側に (default) って出てない? 出てるなら端折らないで
出てる状態で su/sudo つけずに $ python distribute_setup.py して
/local/bin なんて場所に easy_install が入っちゃうのならお手上げ
959:918
13/04/03 16:27:41.62
>>958
$ sudo apt-get install python3.3 python3.3-dev
$ mkdir projects
$ cd projects
$ pyvenv-3.3 default
$ source default/bin/activate
(default) $ wget URLリンク(python-distribute.org)
(default) $ python distribute_setup.py
easy_installは/local/binにインストールされます。
(default) $ ./default/local/bin/easy_install pip
pipも/local/binにインストールされます。
960:デフォルトの名無しさん
13/04/03 17:04:05.97
su/sudoしてないのにインストールできるわけないじゃん
961:デフォルトの名無しさん
13/04/03 17:37:54.54
>>959
/local/bin って ./local/bin のことか…
やっつけな回避策でいいなら bin/activate を開いて
PATH="$VIRTUAL_ENV/bin:$PATH"
PATH="$VIRTUAL_ENV/local/bin:$PATH"
とかすればとりあえず local/bin にパスは通る
962:918
13/04/04 09:15:42.65
>>960
sudo すると
/usr/local/binに2.7がインストールされました。
963:デフォルトの名無しさん
13/04/04 09:16:28.12
>>961
説明不足ですみません。
pyvenvの状態では
(default) $
/home/ubuntu/projects/default/local/bin
にインストールされます。
$ pyvenv-3.3 --clear default
にすると環境全部消えるので書き換えたPATHも戻ってしまいますが
対策されるまでしばらくこれで使ってみます。
どうもありがとうございました。
964:デフォルトの名無しさん
13/04/04 09:40:13.01
sudo python3でやったか?
965:デフォルトの名無しさん
13/04/04 09:52:03.01
sudoしたらだめ。システムに影響が出ないようにvenvで仮想環境作ってるんだから
966:デフォルトの名無しさん
13/04/04 19:54:39.42
狙ったバージョンをOSにインスコするだけなのに
何日もかかるって…
UNIX系OSの暗黒面が大爆発している例だな。
967:デフォルトの名無しさん
13/04/04 20:07:26.02
>>953 のサイトのやり方なら問題ない
バグというか仕様なんだから
ubuntu で distribute_setup.py 使わなければOK
.tar.gz 落として setup.py install
968:829
13/04/04 20:39:35.04
クラスを要素に持ってたリストを消去するのに
hoge=[]と del hoge[:]で挙動が異なるんだなぁ、奥が深い....。この数日ハマった...。
969:968
13/04/04 20:41:04.90
↑すみません。829じゃないのに間違えました。
970:デフォルトの名無しさん
13/04/04 21:15:32.60
パッケージマネージャ使わないとか死ねよ
ぷんすか
971:デフォルトの名無しさん
13/04/04 21:18:40.02
死ねよは言い過ぎじゃ
>>953 のサイト見た?
pyvenv でヴァーチャル環境でローカルにインスコ出来て
--clear できれいサッパリ削除出来るってお得じゃないか
972:デフォルトの名無しさん
13/04/04 21:21:21.67
いや随分パッケージ管理システムにご執心な奴がいたから
気持ちを代弁してやっただけよ
973:918
13/04/05 09:52:58.94
>>967
ソースから入れても./local/binに入ります。
$ pyvenv-3.3 default
$ source default/bin/activate
$ curl -O "URLリンク(pypi.python.org)
$ tar xzf distribute-0.6.35.tar.gz
$ cd distribute-0.6.35
$ python setup.py install
974:デフォルトの名無しさん
13/04/05 13:24:41.23
>>973
python distribute_setup.py も結局 python setup.py install するのでそうなるだろう
ところで pip で入れたモジュールはちゃんと使えてる?
975:デフォルトの名無しさん
13/04/07 16:36:37.81
質問です
ある文字列 ( 0-9 a-f A-F のみが含まれる)
'123456789abcdeff0123456789abcdef' ...
から
[0x1234, 0x5678, 0x9abc, 0xdeff, 0x0123, 0x4567, 0x89ab, 0xcdef] ...
という 2byte 毎の値のリストを得るにはどんな書き方がありますか?
文字列の長さは常に 8 の倍数ですが最大の長さは不明です(どこまでも大きくなる可能性あり)
976:デフォルトの名無しさん
13/04/07 16:56:25.98
どこまでも大きくなるってのは例えばSocketStreamがReadしないとデータがあるかどうか分からないような状況を言っているのか?
それとも1024か32768か2^32か不明なだけで、処理するときには判明しているのか?
977:デフォルトの名無しさん
13/04/07 17:02:20.74
>>975
>>> s = '123456789abcdeff0123456789abcdef'
>>> [int(s[i:i+4], 16) for i in range(0, len(s), 4)]
[4660, 22136, 39612, 57087, 291, 17767, 35243, 52719]
>>> [hex(int(s[i:i+4], 16)) for i in range(0, len(s), 4)]
['0x1234', '0x5678', '0x9abc', '0xdeff', '0x123', '0x4567', '0x89ab', '0xcdef']
これでいいのかなあ。なんかやりたいこととは違う気がしなくもない
978:デフォルトの名無しさん
13/04/07 17:02:46.49
いや、そもそもPythonの文字列は長さが判明してないとおかしいから、
質問者が文字列から、と言っている以上、前者ではありえない。
['0x'+s[i:i+4] for i in range(0,len(s),4)]
979:デフォルトの名無しさん
13/04/07 17:06:10.24
f = StringIO(s)
[int(i, 16) for i in iter(lambda: f.read(4), '')]
980:デフォルトの名無しさん
13/04/07 17:07:42.97
import struct, binascii
struct.unpack('>%dh' % (len(s) / 4), binascii.a2b_hex(s))
981:デフォルトの名無しさん
13/04/07 17:13:59.20
みなさんありがとうございます
stream から読むのをイメージしていました
>>979 さんのが一番良いみたいです
あとお願いついでですが
'123456789abcdeff0123456789abcdef' ...
から
[(0x1234, 0x5678), (0x9abc, 0xdeff), (0x0123, 0x4567), (0x89ab, 0xcdef)] ...
の様にペアにしたタプルで得るにはどう書けば良いですか?
982:デフォルトの名無しさん
13/04/07 17:20:20.54
[(int(i, 16),int(j, 16)) for i,j in iter(lambda: (f.read(4),f.read(4)), ('',''))]
983:デフォルトの名無しさん
13/04/07 17:22:52.44
import StringIO, struct, binascii
s = '123456789abcdeff0123456789abcdef'
f = StringIO.StringIO(s)
[struct.unpack('>2h', binascii.a2b_hex(i)) for i in iter(lambda: f.read(8), '')]
[(4660, 22136), (-25924, -8449), (291, 17767), (-30293, -12817)]
984:デフォルトの名無しさん
13/04/07 17:28:53.08
くだすれPython(超初心者用) その17
スレリンク(tech板)
985:デフォルトの名無しさん
13/04/07 17:33:54.01
おつぱいそん
986:デフォルトの名無しさん
13/04/07 17:35:41.43
g = (int(i, 16) for i in iter(lambda: f.read(4), ''))
# itertools レシピのgrouper
list(itertools.izip_longest(*([g]*2), fillvalue=None))
987:デフォルトの名無しさん
13/04/07 17:46:08.46
int(i, 16) のところで符号付整数にするにはどうすればいい?
988:デフォルトの名無しさん
13/04/07 17:48:13.75
python3を積極的に導入する理由ってある?
python2でできない、あるいは難しいこととかあるのかな
989:デフォルトの名無しさん
13/04/07 17:50:09.54
ちょっと訂正
int(i, 16) のところで16ビット符号付整数にするにはどうすればいい?
990:デフォルトの名無しさん
13/04/07 17:57:27.42
32767より大きいなら65536を引く
991:デフォルトの名無しさん
13/04/07 18:03:21.42
それでもいいんだけど
int() になんか便利なオプションあるのかなと思って
992:デフォルトの名無しさん
13/04/07 18:04:41.99
>>982 >>983 >>986
出来ました
ありがとうございます
993:デフォルトの名無しさん
13/04/07 18:17:04.13
pythonはCのscanfみたいなのとかないのかな。
994:デフォルトの名無しさん
13/04/07 18:22:36.47
Python には現在のところ、scanf()に相当するものがありません。
約 1,220 件 (0.39 秒)
995:デフォルトの名無しさん
13/04/07 18:28:46.30
正規表現で大概のことは出来るんじゃないかなと思う
996:デフォルトの名無しさん
13/04/07 18:29:38.95
2から3に乗り換える利点は何ですか?
997:デフォルトの名無しさん
13/04/07 18:32:45.39
デメリットはお前のような奴がいることです
998:デフォルトの名無しさん
13/04/07 18:37:02.72
scanfって正規表現使えたっけ
999:デフォルトの名無しさん
13/04/07 18:37:46.57
>>991
無いよ。
1000:デフォルトの名無しさん
13/04/07 18:38:53.88
>>989
16bit目が1なら全bit反転して+1
1001:1001
Over 1000 Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。