teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

2

z

2021/01/19 04:52

投稿

tiitoi
tiitoi

スコア21960

answer CHANGED
@@ -5,7 +5,7 @@
5
5
  例えば、Windows で動く exe 形式のバイナリを Ubuntu に持っていっても動きません。OS が違うからです。
6
6
  そのため、pip でインスールする際にその環境に適合したビルド済みのバイナリが存在すればそれをダウンロードしてくるだけですが、存在しない場合は wheel でソースをダウンロードしてビルドを試みます。
7
7
 
8
- その際に「wheel が存在しない」「C/C++ のビルド環境がない」「C/C++ のコードが参照しているライブラリがない」などの原因でビルドに失敗すると、pip でのインスールに失敗するということになります。失敗した場合は大抵はコンパイルエラーのメッセージなどが出力されているはずです。
8
+ その際に「wheel が存在しない」「C/C++ のビルド環境がない」「C/C++ のコードが参照しているライブラリがない」などの原因でビルドに失敗すると、pip でのインスールに失敗するということになります。失敗した場合は大抵はコンパイルエラーのメッセージが出力されているはずです。
9
9
 
10
- venv で仮想化できるのは Python の環境だけです。
10
+ venv で仮想化できるのは Python の環境だけです。OS の差異は吸収できません。
11
- OS の差異なども含めて動作環境の再現性を担保したい場合は、Docker を使うとよいでしょう。
11
+ OS の差異も含めて動作環境の再現性を担保したい場合は、Docker を使うとよいでしょう。

1

s

2021/01/19 04:52

投稿

tiitoi
tiitoi

スコア21960

answer CHANGED
@@ -5,7 +5,7 @@
5
5
  例えば、Windows で動く exe 形式のバイナリを Ubuntu に持っていっても動きません。OS が違うからです。
6
6
  そのため、pip でインスールする際にその環境に適合したビルド済みのバイナリが存在すればそれをダウンロードしてくるだけですが、存在しない場合は wheel でソースをダウンロードしてビルドを試みます。
7
7
 
8
- その際に「wheel が存在しない」「C/C++ のビルド環境がない」「C/C++ のコードが参照しているライブラリがない」などの原因でビルドに失敗すると、pip でのインスールに失敗するということになります。
8
+ その際に「wheel が存在しない」「C/C++ のビルド環境がない」「C/C++ のコードが参照しているライブラリがない」などの原因でビルドに失敗すると、pip でのインスールに失敗するということになります。失敗した場合は大抵はコンパイルエラーのメッセージなどが出力されているはずです。
9
9
 
10
10
  venv で仮想化できるのは Python の環境だけです。
11
11
  OS の差異なども含めて動作環境の再現性を担保したい場合は、Docker を使うとよいでしょう。