質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Linux Mint

Linux Mintは、使いやすいLinuxシステムの提供を目的としたLinuxディストリビューションです。UbuntuとDebianをベースにしており、Ubuntuのリポジトリを共有しています。

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

Windows

Windowsは、マイクロソフト社が開発したオペレーティングシステムです。当初は、MS-DOSに変わるOSとして開発されました。 GUIを採用し、主にインテル系のCPUを搭載したコンピューターで動作します。Windows系OSのシェアは、90%を超えるといわれています。 パソコン用以外に、POSシステムやスマートフォンなどの携帯端末用、サーバ用のOSもあります。

Arch Linux

arch(アーク)は、バージョン管理システムです。 また、リポジトリ(アーカイブ)操作を行えるツールの総称として扱われています。

Q&A

解決済

1回答

1470閲覧

windows と Linuxのコマンドの打ち方が異なる際の対処法 コマンド編とDB編

退会済みユーザー

退会済みユーザー

総合スコア0

Linux Mint

Linux Mintは、使いやすいLinuxシステムの提供を目的としたLinuxディストリビューションです。UbuntuとDebianをベースにしており、Ubuntuのリポジトリを共有しています。

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

Windows

Windowsは、マイクロソフト社が開発したオペレーティングシステムです。当初は、MS-DOSに変わるOSとして開発されました。 GUIを採用し、主にインテル系のCPUを搭載したコンピューターで動作します。Windows系OSのシェアは、90%を超えるといわれています。 パソコン用以外に、POSシステムやスマートフォンなどの携帯端末用、サーバ用のOSもあります。

Arch Linux

arch(アーク)は、バージョン管理システムです。 また、リポジトリ(アーカイブ)操作を行えるツールの総称として扱われています。

0グッド

0クリップ

投稿2019/09/03 04:22

初心者です。

#環境
windows10
centos7
python3.6
前提としてpython2xは使いたくありません。

#質問1 コマンド

#windows環境でのコマンド
現在windows上ではPython3を打つとエラーになります。

python3 hoge.py
'python3' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。

そのため、python hoge.py と打っています。

#linux
python3 hoge.py として打っています。

以下のようなsample.pyを作成して以下コードがあるとします。

cmd = "python3 hoge.py" runcmd = subprocess.call(cmd.split())

いまのままだとwindowsでは動きません。そこで対応をしたのですが
pip以外のコマンドを記載する度に、OSを認識するコードを毎回毎回入れるのは面倒です。

if os.name == 'nt': cmd = "python hoge.py" runcmd = subprocess.call(cmd.split()) else: print('linuxと判定') cmd = "python3 hoge.py" runcmd = subprocess.call(cmd.split())

そこでwindows側でpython3が使えるような設定でもいいですし
ソース側のコードに毎回if文の処理をかかずに済むコードでも解決策があればぜひご教示ください。

#質問2 DB

同じ質問になりますが開発環境と本番環境でDBをSQLとMARIAにわけています。
その際以下のように判別しているのですが、elseが全部本番をみにいくのでとても不安です。

if os.name == 'nt': DATABASES = { 'default': {         windows環境 'ENGINE': '', 'NAME': ), } } else: print("the os -------- 本番環境 MariaDB設定      ---- linux ------->>>>>>>")
cat /etc/redhat-release CentOS Linux release 7.6.1810 (Core)

上記OSの時だけは本番環境DB
win10の場合はテスト環境
その他の場合も同じくテスト環境とするにはどのようにコードをかけばいいでしょうか?

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

質問1.
案1:Windowsで、python.exepython3.exeという名前にコピーする
案2:Linuxで、pythonpython3へのシンボリックリンクとして作る

質問2.
DB接続情報はファイルに書いて、それを読み込んで接続する。
ファイルは環境ごとに中身を変える。

投稿2019/09/03 04:31

otn

総合スコア84555

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2019/09/03 04:32

ありがとうございました
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問