- くだすれ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 - 大規模だけど見通しの良くて手を入れやすいプログラムを作るのって大変だよね
|