Pythonのお勉強 Part63

■ このスレッドは過去ログ倉庫に格納されています
2020/02/24(月) 10:31:51.39ID:vb10EdOX0
!extend:default:vvvvv:1000:1024
!extend:default:vvvvv:1000:1024
↑スレ立てる毎に減るので、減ってたら3つに増やすこと。

★当スレにRubyのソースコード類を書くことを禁ず★
☆Ruby等、Pythonではないプログラミング言語での回答類・質問を書くのも禁止
☆「Ruby では」「Rubyでは」をNGワード登録推奨

★エラーを解決したいときはエラー文(勝手に省略禁止、スクショうp等の横着も禁止)と
 環境(Pythonのバージョン+OS名IDE名と夫々のバージョン)をシッカリ書くこと

◆Pythonのソースコードを5ちゃんにコピペするとインデントが崩壊するので
  ↓等のソースコードうp用サイトに貼ってきてくだしあ
    (スクリーンショットをimgur等にうpる「横着」禁止)
ttp://ideone.com/      デフォ設定がCなので、Pythonするには言語種選択ボタン押下がピコ手間かも。
ttp://codepad.org/      ほぼ直感的に使える。Run codeボタンあり。
ttp://pastebin.com/     まずまずシンプル。
ttp://dpaste.com/      とてもシンプル。消えるまでの日数は十分長ーく指定のこと。

◇Pythonオフィシャルサイト http://www.python.org/
◇まとめwiki ttp://python.rdy.jp/

●関連スレ●
くだすれPython(超初心者用) その46【Ruby禁止】
http://mevius.5ch.net/test/read.cgi/tech/1577948214/

〇前スレ
Pythonのお勉強 Part62
http://mevius.5ch.net/test/read.cgi/tech/1568531160/

次スレの建立は>>985あたりが挑戦する。  [EOF]
VIPQ2_EXTDAT: default:vvvvv:1000:512:: EXT was configured
97デフォルトの名無しさん (ワッチョイ e2ad-3NCZ)
垢版 |
2020/04/13(月) 16:12:03.37ID:dKd+Q7GJ0
US配列の場合な。イコールもそのまま押せて便利
そのかわりコロンがシフト押さないといけない
98デフォルトの名無しさん (ワッチョイ cb5f-zfCe)
垢版 |
2020/04/13(月) 16:17:00.29ID:xWnIwwwl0
pythonはセミコロンあんまり使わんもんな
2020/04/14(火) 14:47:13.65ID:v3p3WIHna
久しぶりにanaconda入れたらデフォルトでvscodeついてこなくなった???
100デフォルトの名無しさん (ワッチョイ cb5f-PlZG)
垢版 |
2020/04/14(火) 21:11:32.07ID:aWtxz+/L0
>>96
多くのプログラミング言語でダブルクォートは文字列、シングルクォートは1文字としているからだよ。
2020/04/14(火) 21:19:13.37ID:hnAkNvxg0
>>100
頓☆珍☆漢
2020/04/14(火) 22:22:15.74ID:CfDohWIc0
JavaScript のprettier みたいに、保存したら自動的に、

シングル・ダブルクォーテーションを変えられないのか?
2020/04/14(火) 23:35:38.65ID:RTth2ghS0
C、C#、Javaとかはcharとstringの区別があるからシングルとダブルで区別してるっぽい
Rubyやperlはシングルが単純文字列、ダブルが特殊文字や変数展開あり
php、python、javascriptは基本的にどっちも同じ
2020/04/15(水) 00:27:42.17ID:bKd8avDg0
っぽいってpythonしか使えないやつなんて少数だろうし無理して適当言わなくて良いよ
105デフォルトの名無しさん (ワッチョイ 9fad-9n34)
垢版 |
2020/04/15(水) 00:46:12.61ID:sRuwy1Ct0
文字列にシングル入れるときはダブル
ダブルが入るときはシングルって見易くていい仕様だと思うから
下手にエスケープに変換とかして欲しくはないな
2020/04/15(水) 01:02:03.64ID:F2runruc0
ソースは一貫したルールで文字列をクオートした方が扱いが楽だと思う
107デフォルトの名無しさん (アウアウウー Sa1b-mcOY)
垢版 |
2020/04/15(水) 08:30:22.53ID:FNBysGoVa
>>106
どちらに一貫するのがいいの?
という話でわ?
2020/04/15(水) 08:34:38.66ID:xGXg/bfB0
慣れないことをプログラムするときはコピペで勉強するから、いつの間にか ' と " が混在する。気にしないことにしている
109デフォルトの名無しさん (ワイーワ2 FFdf-xa8R)
垢版 |
2020/04/15(水) 11:41:43.58ID:Y2mip1WIF
s = (abc'def'ghi);
110デフォルトの名無しさん (ワッチョイ b761-csEB)
垢版 |
2020/04/15(水) 18:11:10.46ID:LkHHawJM0
SQL => 基本的にダブル
JSON,HTML,XML => シングル
これくらいしか決め事ないな。
あとはフォーマッタが何とかしてくれる。
2020/04/15(水) 18:43:38.28ID:wc1Yu/lO0
JSONはダブルじゃないとダメで
SQLはシングルが標準やろ
2020/04/15(水) 20:12:10.41ID:FLdXbtLZ0
>>111
俺もSQLはダブルクォート
シングルクォートは中で括るために使うからね
sql = “SELECT * FROM hoge WHERE col=‘hage’”
113デフォルトの名無しさん (ワッチョイ 9f82-ycCE)
垢版 |
2020/04/15(水) 20:20:41.32ID:pMnNTqOZ0
クォート演算子のあるperl最強
2020/04/15(水) 20:25:40.28ID:F2runruc0
そのダブルクォートはSQLではなく、それを使用する言語側の文字列編集だろ
2020/04/15(水) 21:31:36.51ID:FLdXbtLZ0
>>114
あー、なるほどね
ここPythonスレだから暗黙に
PythonでSQLを記述する場合はダブルクォート
と脳内変換してたよ
116デフォルトの名無しさん (エムゾネ FFbf-xa8R)
垢版 |
2020/04/16(木) 11:09:52.36ID:przIFznPF
>>112
SQL injection ですねわかります
2020/04/16(木) 19:08:52.14ID:LTyXab3c0
blackがダブルクォーテーション推しなんだからダブルクォーテーション使え
118デフォルトの名無しさん (ワッチョイ 375f-NJmS)
垢版 |
2020/04/16(木) 23:05:06.33ID:GRiepDCa0
UNIX系の知識がみんななさすぎw
2020/04/17(金) 08:26:30.68ID:gYT6tn57M
どこにunixが関係するのか全然わからん
SQLの知識がなさすぎならまだわかるけど…
2020/04/17(金) 09:27:50.81ID:1/WcXfQ8d
SQLってどうやってコンパイルするん?
2020/04/17(金) 10:04:43.37ID:6AT5a2REM
sql prepared statement python でggれ
2020/04/17(金) 22:38:26.31ID:Jwuy6XKB0
pyenvに筆おろししてもらうんだけど何か注意点ある?
123デフォルトの名無しさん (ワッチョイ 375f-rAP/)
垢版 |
2020/04/17(金) 22:54:06.35ID:8S5P2WFb0
>>119
シングルクォーテーションとダブルクォーテーションの使い分けができないとUNIX、Linux、Macは使いこなせない。
2020/04/17(金) 23:04:25.20ID:Q8gnON0wM
>>123
シェルの話をUnixって言っちゃうのはいかがなものかと
125デフォルトの名無しさん (ワッチョイ 375f-nnXL)
垢版 |
2020/04/17(金) 23:41:28.19ID:8S5P2WFb0
UNIXがなんだと思ってんだよ?

UNIXを作るためにC言語を作り、UNIXのインターフェイスとしてシェルを作った。

そのシェルを効率よく使うためにシェルスクリプトができた。
2020/04/18(土) 00:01:51.38ID:7LyL0DBt0
>>122
今までのRuby on Rails は基本、Mac・仮想OS でLinux だbチたが、
Windows 10, WSL, Ubuntu 18.04 でも、環境構築できるようになった。
VSCode の拡張機能、Remote WSL も使う

Linux側には、日本人が作った、バージョンマネージャーのanyenv で、rbenv, nodenv を使って、
rubyのコンパイルに、20分ほど掛かって、
ruby 2.6.6, node 12.16.2 を入れた

yarn は、Windows側に入れて、WSL から、拡張子なしのyarn コマンドを呼べる。
これは、#!/bin/sh で始まるシェルスクリプト

anyenv 公式サイト
https://github.com/anyenv/anyenv

anyenv + macOS環境構築
https://qiita.com/rinpa/items/81766cd6a7b23dea9f3c

anyenv は多言語向きで、rbenv, nodenv, pyenv, phpenv などを同じ使い方で、統一的に扱える。
~/.bashrc に、下の2行を追加するだけで、各言語ごとに追加しないでも良い

export PATH="$HOME/.anyenv/bin:$PATH"
eval "$(anyenv init -)"
2020/04/18(土) 00:17:00.41ID:7LyL0DBt0
もし、anyenv を使わなかったら、
例えば、rbenv なら、rbenv-installer を実行して、
~/.bashrc に、下の2行を追加する

export PATH="$HOME/.rbenv/bin:$PATH"
eval "$(rbenv init -)"

この手順を、nodenv, pyenv, phpenv など、多言語で繰り返す必要がある。
これらの公式サイトを読むだけでも大変。
これを、anyenv では、自動的にやってくれる

それと、一区切りごとに、端末を再起動して、更新を反映し、
rbenv rehash みたいに、rehash して更新を反映する
128デフォルトの名無しさん (ワッチョイ 375f-nnXL)
垢版 |
2020/04/18(土) 00:33:39.38ID:AvZMO+wH0
MacはLinuxではなくUNIXですw
129デフォルトの名無しさん (ワッチョイ 9fad-9n34)
垢版 |
2020/04/18(土) 00:45:15.14ID:BRgon2X90
クロスプラットフォームのPythonではあえて等価にしてるのに
下手にUNIXの知識のまま変数展開とか期待して勝手にキレてそう
2020/04/18(土) 00:54:37.83ID:MBlS3oHq0
>シフト押さなくてもよくて楽だから
2020/04/18(土) 05:08:51.52ID:Sf9Xt/Dv0
>>126
頼むから無理やりrubyを絡めないで

Pythonはようやく環境構築がpipenvもしくはanacondaに落ち着きつつあるんだから、他はマニアがやればいい
2020/04/18(土) 05:46:45.80ID:7LyL0DBt0
rbenv が基本で、皆これを真似て作られた

わざわざ、Python の標準でもない、pyenv を使うという事は、
多言語で、rbenv, nodenv, pyenv, phpenv なども使うという事だろ

だったら日本人が作った、anyenv で同じ使い方で、統一的に扱える!
133デフォルトの名無しさん (ワッチョイ b763-3MwD)
垢版 |
2020/04/18(土) 05:49:03.43ID:eSPdz8DV0
ガイジが人間様と対等な口を利くな
2020/04/18(土) 05:57:40.40ID:7LyL0DBt0
web 系は、1つの言語じゃ無理。
どの言語でも、Node.js が必須だから

例えば、Microsoft のサイトでは、Node.js のバージョンマネージャーに、NVM を使っている

Ruby はrbenv, Python はvenv、Node.js はNVM と、
各言語で、使い方が異なるのが面倒くさい

たかがバージョンマネージャーぐらい、同じ使い方で統一してもらいたい。
それで日本人が、anyenv を作った!
2020/04/18(土) 06:47:51.16ID:ir1ZeU1yM
>>125
なんの説明にもなってなくて笑うわ
知ったかガイジ乙
2020/04/18(土) 06:48:46.21ID:8m/QtB/pM
>>131
ルビ基地の相手するな
137デフォルトの名無しさん (ワッチョイ 9f65-32dU)
垢版 |
2020/04/18(土) 08:06:53.19ID:QAQQG5bq0
>>131
Mac に Python3 をインストールしたいんですけど、
Homebrew 無しで pipenv をインストールする標準的な方法を教えてください
2020/04/18(土) 08:18:44.88ID:7LyL0DBt0
Mac は、Ruby 製のHomebrew で出来ている!

Homebrew を使わないで、何もできないだろw
2020/04/18(土) 08:21:23.14ID:pWuOk7zm0
一区切りごとに読点を打つのはやめてくれませんかね。
それに無駄に多い感嘆符も。
2020/04/18(土) 09:36:13.92ID:21FUasb+0
無読点よりマシだから気にすんな。
141デフォルトの名無しさん (アウアウエー Sadf-xa8R)
垢版 |
2020/04/18(土) 10:29:41.83ID:xymtyLA0a
シェルスクリプトで引用符というより``を使うようになって成長したと感じた
結局pythonでsubprocess使った方が便利なのでシェルスクリプト使わなくなったω
2020/04/18(土) 10:40:40.82ID:lQefZc9Y0
>>139
この無駄な特徴のお陰で例のRubyバカだと一目で分かってスルーできるから、無くなると困るな。
まあ一番はこのバカがコテ付けるかそもそも書き込みやめるかすればベストなんだけど、壊れたロボットには言葉が通じないから諦めてる。
2020/04/18(土) 11:38:19.31ID:GHasE78Xa
Pythonスレなんだからこのキチガイを判定するAIを作れよ
2020/04/18(土) 11:46:25.69ID:uOWDKjxa0
>>137
$ pip install -U pipenv

ただpipenvはenvって名前付いてるけど複数バージョンのPythonを管理するものじゃなく
プロジェクト単位の依存ライブラリをPipFileで管理するパッケージマネージャー
JavaScriptのnpm(package.json)やRubyのbundler(Gemfile)にあたるもの

バージョンマネージャーはRuby君が言ってるようにpyenvが標準になりつつある
145デフォルトの名無しさん (ワッチョイ 9fad-9n34)
垢版 |
2020/04/18(土) 16:33:54.44ID:BRgon2X90
環境構築の定番が毎年変わるのはOSSの面倒なところだな
2020/04/18(土) 20:11:36.59ID:hOyj3UHi0
まぁPythonのビルドはめんどいから、pyenvで楽できるのは良い
仮想環境はpython -m venvで調達できるし、いたれりつくせりですな
147デフォルトの名無しさん (ブーイモ MM9b-ILq3)
垢版 |
2020/04/18(土) 21:57:10.04ID:/h8VXz8jM
> お前は毎朝起きるたびに俺に負けたことを思い出すよ^^

あー、ホンッとに思い出すなあ(笑)
キチガイの嘘つきの低レベルFランの、
朝鮮ゴキブリBot君は、
チョン独特の「なにもできないけど俺のほうがジャップより偉い!」的な
ことはよーくわかったよ。
ホントなにもできない朝鮮ゴキブリBot君!

クソチョンw
148デフォルトの名無しさん (ワッチョイ 9f65-32dU)
垢版 |
2020/04/18(土) 22:39:19.54ID:QAQQG5bq0
>>144
macOS標準の Python2 でも pip が使えるのは当たり前ですよね
質問の内容は、Homebrew 無しで Python3 の環境構築を実現する方法です
もちろん環境構築には複数バージョンやパッケージマネージも含みます

ただ単に Python3 を使うだけなら、Anaconda がありますけど、
そこからのステップアップは Mac だと(Ruby に頼らなければ)無理なんでしょうか?
2020/04/18(土) 23:01:10.00ID:yzq4DZIh0
ctypesでDLLに配列の途中要素のポインタ渡すのってどうすればいいの?

ary = (c_ubyte * 10)() で配列作ったとして、
これの3番目の要素のポインタを渡したいんだけど、
pointer(ary)[2]とか、poiter(ary)+2とかできなくて困ってる
もしかしてポインタ演算自体できない感じ?
2020/04/18(土) 23:39:08.48ID:7LyL0DBt0
漏れは、無数のMac の環境構築のサイトを見てるけど、
Ruby 製のHomebrew を使わないものは見たことない!
一方、Windows では、chocolatey を使わない人も多いけど

例えば、rbenv-installer では、
MacのHomebrew か、Linux のgit でコンパイルか、処理を分けている

gitなら、build-essential などのコンパイルツールが必要。
Macなら、Xcode だろ

Macで、Homebrewを使わない場合に、正常にコンパイルできるかどうか、分からない。
まず、そういうことをする人が、いない。
Mac/git/Xcode のパターンだろ。
こういう例外を、anyenv の開発者がテストしているかどうか、分からない

#!/bin/bash

homebrew=

# -p : タイプが「file(実行ファイル)」の時のみ実行ファイルの絶対パスを出力する
# (それ以外のタイプの場合は何も出力しない)
type -p brew >/dev/null && homebrew=1

if [ -n "$homebrew" ]; then
# Homebrew で処理
brew update
brew install rbenv --without-ruby-build
else
# git でコンパイル
fi
2020/04/19(日) 01:49:34.07ID:uoG1gk2+0
>>148
ググればすぐわかることを何度も聞くな
2020/04/19(日) 04:49:43.90ID:u21QryuH0
Mac には標準で、Ruby が入っているだろ。
そのバージョンが古くなければ、Homebrew も使える

わざわざ、Homebrewを使わないようにする、理由が分からない。
anyenv で、rbenv, nodenv, pyenv, phpenv と入れていけば良いだけ

Homebrewを使わないというのは、特殊中の特殊だから、
そういう手順が、anyenv で動くかどうか、誰にも分からない。
誰もそういう事をしないから、テストされていない

>>150
にも書いた通り、シェルスクリプトを読んでいって、
Homebrewを使わない場合の手順で動くかどうか、確かめるのが大変

基本的に、Mac/Homebrew か、Linux/git/build-essential の2タイプ。
Mac/git/Xcode みたいな事を考慮していないと思う

MacはBSD で、LinuxとはOS が異なるから、
Homebrew を使わない場合に、動くかどうか分からない
153デフォルトの名無しさん (ワッチョイ 9fad-9n34)
垢版 |
2020/04/19(日) 07:14:43.77ID:E9h1m1ZN0
最近HomebrewはRuby非依存になりました!やったね
https://itchyny.hatenablog.com/entry/2020/03/03/100000
2020/04/19(日) 08:26:16.00ID:rdnJZpmc0
>>148
ステップアップが意味するところが分からないけど、Mac使いならhomebrewは入れた方が良いね
それとは別に、自分の好きな構築方法はpython3をminicondaでインストール

あとは一般論

機械学習関係でLinux使いなら環境構築はanacondaか最新のdockerがいい
Nvidiaの諸々の依存関係をセットアップするのがすごい楽になる

それ以外ならpyenv+pipenvかanacondaになる
どちらを使うかは宗教論

anacondaはライブラリも含めてダウンロードするので、例えばcentos6.xでglibcが古くてpython3が動かない場合でも最新版が動かせる

anacondaを使う場合で問題になるのは、デフォルトのPythonより優先順位を高くした場合に全く関係ないアプリが動かないことがある
.bashrcや.bash_profileから初期設定を抜くなりbase状態からdeactivateすればもちろん動くが、いちいちめんどくさい

あとは有償のmklライブラリがanacondaはただで使える
それが元で古いMacだとAVX命令がエラーになるとかあってpipでnumpyを入れ直すとか、まぁ細かいことを言うと色々ある
2020/04/19(日) 11:13:46.63ID:tJO0KIHI0
homebrewとは何かとググったら要はrpmやdebの類か。
そんなもんに依存しなきゃ使えないマカーやどざーってやっぱりバカなんじゃないの。
156デフォルトの名無しさん (ブーイモ MM9b-ILq3)
垢版 |
2020/04/19(日) 11:50:02.80ID:lzjwP47FM
> お前は毎朝起きるたびに俺に負けたことを思い出すよ^^

あー、ホンッとに思い出すなあ(笑)
キチガイの嘘つきの低レベルFランの、
朝鮮ゴキブリBot君は、
チョン独特の「なにもできないけど俺のほうがジャップより偉い!」的な
ことはよーくわかったよ。
ホントなにもできない朝鮮ゴキブリBot君!

クソチョンw
157デフォルトの名無しさん (アウアウエー Sadf-xa8R)
垢版 |
2020/04/19(日) 11:56:56.82ID:QdkeRkpHa
>>149
とりあえずlongに変換してから計算してpointerに変換
2020/04/19(日) 12:50:17.44ID:pMFFArDT0
>>155
別に依存しなくてもインストールできるけど、使えば手間が省けるだけ。winでもわざわざ依存ライブラリを各所から拾ってくるのは面倒でしょ?そこを自動でやってくれる。
cuiが嫌いならanacondaやdockerをguiでインストールすることもできる。選択肢が多い分、ほかのpfより優れてると思うよ。(本件に限れば)
あと、homebrewと比べるならrpmやdebじゃなくてyumやaptな。
159デフォルトの名無しさん (アウアウエー Sadf-xa8R)
垢版 |
2020/04/19(日) 14:01:08.79ID:QdkeRkpHa
パッケージは便利な反面
何でもパッケージに頼ると
数年後とかに同じ環境を
再現しようとしたとき困る
なので全自動じゃなく
手動で現時点のバイナリ等は
そのまま後で使える様に
ローカルで保存する習慣にしてる
2020/04/19(日) 16:01:44.50ID:uoG1gk2+0
>>159
>数年後とかに同じ環境を再現しようとしたとき困る

むしろそういう時に困らないようにパッケージマネージャー使うんだけど
2020/04/19(日) 16:06:22.77ID:tqYsd33y0
RUN pip install -r requirements.txt
162デフォルトの名無しさん (アウアウエー Sadf-xa8R)
垢版 |
2020/04/19(日) 16:39:32.05ID:z25dSQuDa
数年後に同じものを落とせる保証は?
2020/04/19(日) 17:01:10.46ID:uoG1gk2+0
法的/倫理的な問題があったりして削除されるようなものを除けば
パッケージリポジトリが崩壊しない限り落とせるでしょ

それにパッケージマネージャー使ってもローカルに落としてるんだけど手動でやるメリットある?
2020/04/19(日) 17:49:56.43ID:jAMajcE/p
>>159
その目的ならdockerやvirtual box等の仮装マシンが向いてるかな

pip freezeでrequirements.txtを作ったりpipenvで環境をまとめたりしても、python以外のところで動かないことはあるしね
165デフォルトの名無しさん (ブーイモ MMbb-+g6E)
垢版 |
2020/04/19(日) 17:53:39.97ID:asuJZYP9M
>>155
ところでpipも使っとらんの?
166デフォルトの名無しさん (ワッチョイ b714-ESbY)
垢版 |
2020/04/19(日) 20:59:36.18ID:mnSja+cO0
お仕事ください〜
167デフォルトの名無しさん (ワッチョイ 9733-Df86)
垢版 |
2020/04/19(日) 21:51:21.60ID:ShAQVk2s0
pipとvenvで十分事足りる
2020/04/19(日) 22:30:06.27ID:jiQTFJde0
たしかにvenvで十分なんだが、プロジェクトごとにpythonをインストールしているような
なんともいえん気分になる。
169デフォルトの名無しさん (ワッチョイ 9fa5-5iIe)
垢版 |
2020/04/19(日) 22:32:34.80ID:X1m2vVHB0
HDD単位が数億数兆という富豪の時代なんだからpythonの一つや二つや10や20でケチケチしないのがホンモノの富豪
2020/04/19(日) 22:37:55.27ID:RBCnn0Aq0
>>157
全然わかってなくて申し訳ないけど、
c_ubyte配列をc_ulong配列にする必要があるって事?
2020/04/19(日) 23:30:25.24ID:u21QryuH0
anyenv は多言語向きで、rbenv, nodenv, pyenv, phpenv などを同じ使い方で、統一的に扱える。
~/.bashrc に、下の2行を追加するだけで、各言語ごとに追加しなくても良い!

export PATH="$HOME/.anyenv/bin:$PATH"
eval "$(anyenv init -)"

global でシステム全体、local でそのプロジェクトだけのバージョンを切り替える。
コマンドラインから一時的に切り替えたい場合は、shell を使う。
すると、環境変数 RBENV_VERSION に設定される

rbenv global 2.6.6
rbenv local 2.6.6
rbenv shell 2.6.6

apt などで、/usr/bin/ruby へインストールした、バージョンを使いたいなら、
rbenv global system
rbenv local system
rbenv shell system

この使い方が、全言語で統一されているから楽

$ which ruby
~/.anyenv/envs/rbenv/shims/ruby
$ which node
~/.anyenv/envs/nodenv/shims/node
2020/04/20(月) 16:33:21.64ID:a8zbn2bF0
>>149
誰も答えないので答えてみる

ary = (c_ubyte * 10)()

# C言語のp = &ary[2] と等価
p = byref(ary, sizeof(c_ubyte) * 2)
2020/04/20(月) 17:26:34.99ID:a8zbn2bF0
>>170
>>157の名誉のために同じ動作をする別のコードを示そう

addr = ctypes.addressof(ary) # addrはint型なので演算可
p = ctypes.cast(addr + 2, c_void_p)

64ビットアーキテクチャになってアドレスサイズが8バイトになったので
C言語のint型(4バイト)ではなくlong型(8バイト)で扱う必要がある
ただpython3はlong型がなくなりint型に統合したのでそのまま扱える
174デフォルトの名無しさん (ワッチョイ 979b-3sNk)
垢版 |
2020/04/20(月) 21:43:50.05ID:OAN55Xk30
>>154
久しぶりに勉強になるレス。参考になった。
ところでWinで開発してLinuxに持って行ったりするんだけど、アーキテクチャによって環境構築が違うから大変。Dockerで解決するかな?試せよって話だが。
2020/04/20(月) 22:54:57.17ID:a8zbn2bF0
>>174
mac, win, linuxを行き来してるけど、python3になってからはあまり困ったことはないかなぁ
OSを意識するのはsetup.pyを書くときとC言語をバインドするときくらい
2020/04/21(火) 00:53:00.39ID:rk7ZwuR70
CentOS7でpyenv使ってみたけど、やっぱディストロ側のパッケージを入れるのがめんどくさいな
ここらへんも自動化できないものかね
2020/04/21(火) 01:13:51.83ID:XEr6YjoPH
コンテナ使え
2020/04/21(火) 01:53:18.42ID:rk7ZwuR70
コンテナはあんまり使う気にならない
コマンドで自動化したい・・・
2020/04/21(火) 03:15:52.41ID:KeQ+5vSZ0
>>178
コンテナ使わないならansibleかね
2020/04/21(火) 05:12:57.67ID:HADG6GDb0
Ruby on Rails で、Windows 10, WSL, Ubuntu 18.04 なら、
Linux側には、日本人が作った、バージョンマネージャーのanyenv で、rbenv, nodenv を使って、
ruby 2.6.6, node 12.16.2 を入れた

yarn は、Windows側に入れて、WSL から、拡張子なしのyarn コマンドを呼べる。
これは、#!/bin/sh で始まるシェルスクリプト

Linux側のパッケージでは、build-essential には、
gcc(GNU C compiler), g++(GNU C++ compiler), libc6-dev(GNU C Library), make などが入っている

openssl, readline, zlib
データベースは、libsqlite3-dev, sqlite3
2020/04/21(火) 06:58:26.76ID:s+8SvL2m0
>>172-173
ありがとう!本当に助かりました
>>157のlongが何の事かやっと理解できました

Pythonは簡単な言語だと思うけど、
ctypesとか使っているとCで直接書きたくなるw
182デフォルトの名無しさん (ブーイモ MMcf-ILq3)
垢版 |
2020/04/21(火) 15:24:22.98ID:tZ6+KmAUM
> お前は毎朝起きるたびに俺に負けたことを思い出すよ^^

あー、ホンッとに思い出すなあ(笑)
キチガイの嘘つきの低レベルFランの、
朝鮮ゴキブリBot君は、
チョン独特の「なにもできないけど俺のほうがジャップより偉い!」的な
ことはよーくわかったよ。
ホントなにもできない朝鮮ゴキブリBot君!

クソチョンw
2020/05/06(水) 09:07:12.38ID:kkRwIJjL0
Pythonのsortについて勉強した
keyとlambda式の概念はちょっとややこしかったけど、理解すると天才的なアイデアだなと思った
あと複数の返り値を渡せるから二次元リストの複数列ソートとかも普通にできるんだな
2020/05/06(水) 10:21:35.12ID:CFwhj95k0
sleep sortのほうが天才的
185デフォルトの名無しさん (ワッチョイ eaa5-NK3V)
垢版 |
2020/05/06(水) 11:41:54.56ID:CFZzJW0b0
https://ja.wikipedia.org/wiki/%E3%83%A9%E3%83%A0%E3%83%80%E8%A8%88%E7%AE%97

こことかは天才的すぎて何言ってるか未だに分からん
2020/05/06(水) 12:13:49.13ID:58ateUZWa
元々はlispの言語仕様なんだけどな
2020/05/06(水) 12:58:14.17ID:JWXU759L0
>>183
辞書のリストのソートもラムダ式を使えば簡単!
2020/05/06(水) 13:10:41.39ID:rGVRU5f10
>>185
心躍るよな
189デフォルトの名無しさん (ワッチョイ 5b84-8oPF)
垢版 |
2020/05/08(金) 17:40:09.83ID:d7gkQAuY0
<class 'tuple'>: (1, 1, 320, 320) この形の配列を
<class 'tuple'>: (320, 320, 1) にする方法ってありますか?
2020/05/08(金) 17:46:04.62ID:JpV79Xjz0
>>189
一旦listにして
先頭なり2個目なりを抜いて
逆順にして
タプルに戻せ
続きは↓でな。
http://mevius.5ch.net/test/read.cgi/tech/1583509252/
191デフォルトの名無しさん (アウアウカー Sa7b-IY8Z)
垢版 |
2020/05/08(金) 17:55:55.97ID:e2HjnKz7a
初心者ですが質問です。

現在、使用OSはRaspbianで
Pythonのバージョンは2.7.16 何ですか
どうやったらpython3に出来ますか?

pyenvで2と3を共存させる方法を見ましたが
いまいちよくわからなかったので、
とりあえず3にバージョンアップしたいのですが・・・
192デフォルトの名無しさん (ラクッペペ MMe6-Lw6R)
垢版 |
2020/05/08(金) 18:32:25.47ID:AqYbzX1BM
pyenv install 2.7.18
pyenv install 3.8.2
pyenv global 2.7.18 3.8.2

pyenv rehashは今はいらないんだっけ?
もう覚えてねえな

ちゃんとpyenv入ってるなら動くんじゃない?
そこがすでに怪しい感じだけど
2020/05/08(金) 19:43:44.67ID:Fn4yfVbS0
漏れは、Windows 10, WSL, Ubuntu 18.04 で、
Linux側には、日本人が作った、バージョンマネージャーのanyenv で、rbenv, nodenv を使って、
ruby 2.6.6, node 12.16.2 を入れた

anyenv は多言語向きで、rbenv, nodenv, pyenv, phpenv などを同じ使い方で、統一的に扱える。
~/.bashrc に、下の2行を追加するだけで、各言語ごとに追加しなくても良い

export PATH="$HOME/.anyenv/bin:$PATH"
eval "$(anyenv init -)"

anyenv 公式サイト
https://github.com/anyenv/anyenv

anyenv + macOS環境構築
https://qiita.com/rinpa/items/81766cd6a7b23dea9f3c
2020/05/08(金) 19:57:26.67ID:qca/Mwjw0
>>191
Raspbianならpythonの代わりにpython3って打てば動くはず
あとはpipの代わりにpip3を使うのがポイント
2020/05/08(金) 20:53:16.00ID:JpV79Xjz0
>>191
自称初心者は(・∀・)カエレ!!!
初心者の質問板 http://matsuri.5ch.net/qa/
2020/05/08(金) 21:21:15.61ID:Fn4yfVbS0
確かに、Windows 10, WSL, Ubuntu 18.04 でも、

file `which python`
/usr/bin/python: symbolic link to python2.7

file `which python2`
/usr/bin/python2: symbolic link to python2.7

file `which python3`
/usr/bin/python3: symbolic link to python3.6
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況