トップページ > プログラム > 2015年03月01日 > 0aLofY9O

書き込み順位&時間帯一覧

4 位/228 ID中時間01234567891011121314151617181920212223Total
書き込み数0000000000010000000034008



使用した名前一覧書き込んだスレッド一覧
デフォルトの名無しさん
668
くだすれPython(超初心者用) その25©2ch.net
C言語なら俺に聞け(入門編)Part 127©2ch.net
C/C++の宿題片付けます 168代目

書き込みレス一覧

くだすれPython(超初心者用) その25©2ch.net
668 :デフォルトの名無しさん[sage]:2015/03/01(日) 11:44:33.83 ID:0aLofY9O
pyenvを使ってpythonの複数バージョンを切り替えて使用しています
また、複数の標準入出力をテストするためにPythonコードを実行するためのPythonスクリプトを使っているのですが
Pythonスクリプトからうまくpyenvと連携して子プロセスで動作するPythonのバージョンを切り替える方法はないでしょうか?

systemのpythonのバージョンは2.7.6です
現在、subprocess.call(['python',src_path])を使って子プロセスでpythonスクリプトを実行しており
以下を試してみましたがバージョンが切り替わらずsystemのままで動作してしまいました
・subprocess.call(['python',src_path],env={'PYENV_VERSION','3.4.2'})
・subprocess.call(' '.join(['python',src_path]),env={'PYENV_VERSION','3.4.2'},shell=True)
・subprocess.call(['env','PYENV_VERSION=3.4.2','python',src_path])
・subprocess.call(' '.join(['env','PYENV_VERSION=3.4.2','python',src_path]),shell=True)
・os.environ['PYENV_VERSION']='3.4.2'
・subprocess.call(['pyenv','global','3.4.2'])
C言語なら俺に聞け(入門編)Part 127©2ch.net
60 :デフォルトの名無しさん[sage]:2015/03/01(日) 20:14:58.26 ID:0aLofY9O
>>58
もともとこれを言ってるだけじゃないの?
代入2回が2命令になる環境とコードだとして
前者だと間の割り込みでvが変わってもx==rになるが後者はそうならない

http://peace.2ch.net/test/read.cgi/tech/1408709181/272
272 名前:デフォルトの名無しさん[sage] 投稿日:2015/02/22(日) 00:02:54.13 ID:xxw4z/3i
> x=(r=v) を x=v; r=v; って書かないのはなんか利点があったっけ?
前者と後者は等価ではない
x=(r=v)はr=v; x=r;
くだすれPython(超初心者用) その25©2ch.net
675 :668[sage]:2015/03/01(日) 20:48:15.01 ID:0aLofY9O
アドバイスありがとうございます
>>669,670
確かに複数入出力テストだけならシェルスクリプトでよいと思いますが
すでに色々機能を持たせたpythonスクリプトになっているので別スクリプトではなく一機能として実現できないかと検討してます
>>671
Popenとcallは完了待ちするかどうかの違いのみで引数も同じです

解決はできていませんが、表面的な原因は分かりました
pyenvによってpython実行時にPATHが追加されているようで/usr/binが最上位にきており
subprocessで呼び出すpythonはpyenvの用意したpythonではなく/usr/bin/pythonになってました
そりゃあ環境変数がどうなっていようが変わらないですよね
C/C++の宿題片付けます 168代目
475 :デフォルトの名無しさん[sage]:2015/03/01(日) 20:51:08.16 ID:0aLofY9O
>>474
プログラムが大きくなるとmallocしたメモリを漏らさず間違わずfreeするのが大変
C/C++の宿題片付けます 168代目
478 :デフォルトの名無しさん[sage]:2015/03/01(日) 21:25:27.02 ID:0aLofY9O
>>477
同時に必要なメモリ量が静的に確保できる量だとしても
実際使うときに配列のどのインデックスを使うかを管理するみたいなことが必要になる
そうすると結局malloc/freeと同じようなインタフェースを用意することになる
C言語なら俺に聞け(入門編)Part 127©2ch.net
62 :デフォルトの名無しさん[sage]:2015/03/01(日) 21:31:14.41 ID:0aLofY9O
なんか>>52のとおりになってるのでやめるw
C/C++の宿題片付けます 168代目
480 :デフォルトの名無しさん[sage]:2015/03/01(日) 21:34:09.39 ID:0aLofY9O
ちゃんと機能毎に確認するのが・・・以下ループ
C/C++の宿題片付けます 168代目
482 :デフォルトの名無しさん[sage]:2015/03/01(日) 21:39:07.38 ID:0aLofY9O
大規模だけど見通しの良くて手を入れやすいプログラムを作るのって大変だよね


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。