0
0
テーマ、知りたいこと
WindowsとMacの2台使いについて
プログラムを書く際にこの2台を並行して利用することは適していないと感じます。
同じく使用している方や、有識者の方はどうするべきかコメントいただけると幸いです。
背景、状況
私は大学の研究室ではMac、自分のPCはWindowsを使用しています。
基本的にipynbを使って、pythonを使っていることが多いですが
二つのOSを使うことによる出力ファイルのcsvの文字コードや、挙動のエラーがうっとうしいです。また、先行研究は研究室内のMacで作成されているため、研究を進めるには大学に行かなければなりません。マシンパワーもMacの方があります。
理想は、研究室のMacで作成したコードをそのままgithubやUSEメモリ等で共有し、修正なしにWindowsでも動けばいいなと考えています。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
回答20件
#1
総合スコア10362
投稿2023/05/19 11:01
二つのOSを使うことによる出力ファイルのcsvの文字コード
現状、それぞれのマシンでどういう設定にしているのでしょうか?統一出来ないのでしょうか?
先行研究は研究室内のMacで作成されているため、研究を進めるには大学に行かなければなりません。
自宅ではWSLでは駄目なのでしょうか?
マシンパワーもMacの方があります。
こちらについてはマシンスペックの違いではなくOSの違いで発生しているという意味でしょうか?
#2
総合スコア10362
投稿2023/05/19 11:01
二つのOSを使うことによる出力ファイルのcsvの文字コード
現状、それぞれのマシンでどういう設定にしているのでしょうか?統一出来ないのでしょうか?
先行研究は研究室内のMacで作成されているため、研究を進めるには大学に行かなければなりません。
自宅ではWSLでは駄目なのでしょうか?
マシンパワーもMacの方があります。
こちらについてはマシンスペックの違いではなくOSの違いで発生しているという意味でしょうか?
当方初心者のため、表現に誤りがあるかもしれません。
二つのOSを使うことによる出力ファイルのcsvの文字コード
現状、それぞれのマシンでどういう設定にしているのでしょうか?統一出来ないのでしょうか?
すみません、文字コードというより改行コードの方が正しいかもしれません。
基本的には文字コードはUTF-8にしています。
LFとCRLFの違いで、すぐに読み込めないため、少々面倒に感じます。
自宅ではWSLでは駄目なのでしょうか?
現在はVSCodeにて、ipynbファイルを使用しており、ターミナルでWSLを使用できる形ではあります。
ただ、ipynbファイル上での、!を文頭につけたターミナルの起動はWSLではなくコマンドプロンプトの起動になってしまい、ターミナルを開き、コピーペーストが必要となっていて、面倒に思っています。
マシンパワーもMacの方があります。
こちらについてはマシンスペックの違いではなくOSの違いで発生しているという意味でしょうか?
表現が分かりにくくて申し訳ありません。
OSの違いではなく、マシンスペックであると思われます。
#3
総合スコア28650
投稿2023/05/19 12:45
Git を使っているなら autocrlf で統一できそうです。
#4
総合スコア10362
投稿2023/05/19 12:48
OSの違いではなく、マシンスペックであると思われます。
PCを買い替えることが難しいのであればクラウドの利用はどうでしょうか?大学の規約などで禁止されていなければ有効利用できるかと思います。
買い替えかもう一台増やせるのであればMacを用意して大学と同じ環境にするのがストレスなくて一番良いかとは思います。ただ自宅でWindowsを使用されているのは何か必要な理由があるのではないでしょうか?(Windowsでないと動かないソフトもありますよね)
#5
総合スコア118
投稿2023/05/20 03:21
編集2023/05/20 03:23[香車]東上☆あらし☆海美「
研究が進まなくて留年するより、自宅用に Mac を追加購入するのが、安いみみ。
Mac mini ならモニター、マウス、キーボードは、Windows PC 用の奴が流用できるみみ。
中古の Intel なら、安く買えるみみ。
」
#6
総合スコア28650
投稿2023/05/21 07:16
autocrlf を知ってるのか知らないのか、試してみたのかみてないのか、足りてるのか足りてないのか、何も言わなけりゃ情報は集まらない。
情報を集めるのが上手い人と下手な人の差はこういうところで出る。
こちらの回答が複数のユーザーから「攻撃的な表現などを含む不快な回答」という指摘を受けました。
#7
総合スコア84
投稿2023/05/23 01:41
Windows側でWSL(WSL2)を使うことで解決するはずです。
また、学校やMacを抜きにしても、
今後もプログラミングをするならWindows上ではなくWSL上で開発する方が大抵の場合良いでしょう。
#8
総合スコア4445
投稿2023/05/23 12:09
私は業務上WindowsとMacを使い分けています。GithubやOneDriveを使ってコード共有も行っています。
どちらのOSでも同じようにコードやドキュメントを扱うことを前提としているため、きちんと両OSで「共有できる」ようにコーディングように気を付けています。
どちらかのOSの機種依存にならないように、コンソール側に出力される文字コードや改行コードに依存しないように、ということを常に意識してきた結果、無意識にそのようなコードを書けるようにはなっています。
大学の先行研究の成果がMacOSに依存するコードで書かれているのであれば、あなたもそれに合わせるのが賢明であると思います。Windowsでも動作することが理想ですが、理想を実現するのが難しければこちらから現実に歩み寄るのが結局一番コストが低くなります。
私がMacとWindowsを使い分けるのも、結局案件によってはどちらかに依存しなければならない状況もあるので両方の環境を用意しているに過ぎません。パソコンも道具なので適材適所による使い分けをしてるわけですね。
研究の本質でない部分(この件ではMac依存の仕組みがあってそれを容易に解決できない)で引っかかるのは時間と情熱がもったいないので、足繁く研究室に通うか(私は大学時代よく研究室に泊まり込みました)、いっそ個人でMacBookを購入してしまうのも解決策の一つではないかと思います。学割もありますしね。
#9
#10
総合スコア10362
投稿2023/05/19 12:48
OSの違いではなく、マシンスペックであると思われます。
PCを買い替えることが難しいのであればクラウドの利用はどうでしょうか?大学の規約などで禁止されていなければ有効利用できるかと思います。
買い替えかもう一台増やせるのであればMacを用意して大学と同じ環境にするのがストレスなくて一番良いかとは思います。ただ自宅でWindowsを使用されているのは何か必要な理由があるのではないでしょうか?(Windowsでないと動かないソフトもありますよね)
新調するのが一番容易であるという意見は最もだと思います。
ただ、困っている点としては、通学するのが面倒点や終電までしか研究できない点、とっさに進捗を生むことができない点、程度なので、すでに動くPCを持ちながら、研究用に追加で購入するほどリターン的には大きくないと感じています。
「無理なら無理で諦めるけど、意見交換で良い方法が見つかればいいな」程度の熱量だとお考えください。
ソフト的な制約はありません。
#11
#12
#13
総合スコア84
投稿2023/05/23 01:41
Windows側でWSL(WSL2)を使うことで解決するはずです。
また、学校やMacを抜きにしても、
今後もプログラミングをするならWindows上ではなくWSL上で開発する方が大抵の場合良いでしょう。
コメントありがとうございます。
おそらく大学の授業でそちらの設定をして、Ubuntuを導入することで、WindowsでもMacのコマンドを動かした等の記憶はあるのですが、あまりよく分からないまま終わってしまいました。
当時の記憶では、コマンドプロンプトのようなCUIの認識なのですが、googleColabやJupyterLabのような環境でのプログラミングもできるのでしょうか?
#14
総合スコア4445
投稿2023/05/23 12:09
私は業務上WindowsとMacを使い分けています。GithubやOneDriveを使ってコード共有も行っています。
どちらのOSでも同じようにコードやドキュメントを扱うことを前提としているため、きちんと両OSで「共有できる」ようにコーディングように気を付けています。
どちらかのOSの機種依存にならないように、コンソール側に出力される文字コードや改行コードに依存しないように、ということを常に意識してきた結果、無意識にそのようなコードを書けるようにはなっています。
大学の先行研究の成果がMacOSに依存するコードで書かれているのであれば、あなたもそれに合わせるのが賢明であると思います。Windowsでも動作することが理想ですが、理想を実現するのが難しければこちらから現実に歩み寄るのが結局一番コストが低くなります。
私がMacとWindowsを使い分けるのも、結局案件によってはどちらかに依存しなければならない状況もあるので両方の環境を用意しているに過ぎません。パソコンも道具なので適材適所による使い分けをしてるわけですね。
研究の本質でない部分(この件ではMac依存の仕組みがあってそれを容易に解決できない)で引っかかるのは時間と情熱がもったいないので、足繁く研究室に通うか(私は大学時代よく研究室に泊まり込みました)、いっそ個人でMacBookを購入してしまうのも解決策の一つではないかと思います。学割もありますしね。
コメントありがとうございます。
なるほど、そういった環境で身につく能力もあるのですね。コードがノリに乗っているときは泊まり込みも視野に入れてみます笑
初心者ながら自分で試してみて、難しそうだと思いながら、こちらに質問させていただきました。
そのため、ある程度諦めてはいたのですが、いくつか新しい情報をいただきましたので、そちらも試しながらやっていこうと思います。
#16
コメントありがとうございます。
修正依頼の理由としては
•本質問に関係のない、返信がなかったことだけに対するコメントである
•質問者を侮辱する内容である
の2点になります。
今後は、返信に時間を要する可能性があることをご了承ください。
そういった意図でしたか、返信の通り、改行コードに関しては満たしていますね。
もう一つの課題としては、jupyternotebookでのコードブロックにおいて、!をつけることで機能するコードが、差異がある(macだとターミナル、windowsだとコマンドプロンプト)というものがあります。
#17
総合スコア84
投稿2023/05/24 01:46
編集2023/05/24 01:52もし開発がMac/WindowsのGUIベースのアプリケーション依存であればWSLは使えないかもですが
CUI(コマンドライン)ベースの開発であればとりあえずWSLが利用可能です。
認識の通り、PC内にUbuntu等のLinuxをインストールしてWindowsと同時に利用可能とするものです。
私は使ったことないですがLinuxのGUIも使えるようなので、GUIベースのアプリケーションが必要でもLinux版があれば使えるかもしれません。
Linux 用 Windows サブシステムで Linux GUI アプリを実行する
GoogleColaboはWebサービスでローカルとのデータのやり取りは無い?はずなので
普通にWindowsのブラウザでGoogleを開けばよいはずで
JupyterLabは利用したことありませんが見たところUbuntu(WSL)にインストールできそうな気はします。
Ubuntu22.04にJpyter Lab環境構築
ただWSLのセットアップやメンテナンスは少しLinuxの知識が必要で
おそらく大学の授業でそちらの設定をして、Ubuntuを導入することで、WindowsでもMacのコマンドを動かした等の記憶はあるのですが、あまりよく分からないまま終わってしまいました。
という感じなら詰まる可能性もあります。そんなに難しいことではないのですがWSLに少し癖もあり。
大学に相談できる相手がいるとよいのですが。
追記
いつもの質問形式のやつかと思い投稿しましたが意見交換という機能が追加されたんですね。
ipynbを利用したことが無く!でターミナル起動というのがイメージ湧かなくてこれ以上アドバイスできなさそうなのと
意見交換の場の規約がわかってないので一旦ここまでとします。
ありがとうごうざいました。
#18
総合スコア1069
投稿2023/06/18 11:18
編集2023/06/18 11:30!をつけることで機能するコードが、差異がある(macだとターミナル、windowsだとコマンドプロンプト)というものがあります。
Macを基準にするならWindows側にエイリアスを定義するか、それとも両方の環境にエイリアスを定義して環境に依存しなくするかです。
mac
ipython
1! ls
windows
ipython
1! dir
ls
に統一したければ%alias
を使って環境ごとにシステムコマンドを指定します。
mac
ipython
1%alias ls ls
windows
ipython
1%alias ls dir
両方の環境に対応するコマンドがないときはスクリプトを記述するなどの工夫が必要になります。
(追記) すでにls
という変数が定義されていたらエイリアスは無視されます。
#19
総合スコア1069
投稿2023/06/18 11:50
venv
Macでコマンドベースで作業しているのなら、WindowsでPower Shellを起動(コマンドプロンプトでも好きなほうで)、venvで環境を構築するのが良いかもしれません。操作の統一感があるでしょうし、他の人が研究環境をWindowsに移植するにしても手順を記録に残しやすいと思います。
#20
総合スコア1069
投稿2023/06/20 22:57
キーボード
毎日Mac/Linux/Windowsを使っているとキーボードはすべてのマシンでUSに統一されました。無意識的に使うものですから同じ操作ができること。漢字変換のキー操作も。
同じタグがついた質問を見る
Windowsは、マイクロソフト社が開発したオペレーティングシステムです。当初は、MS-DOSに変わるOSとして開発されました。 GUIを採用し、主にインテル系のCPUを搭載したコンピューターで動作します。Windows系OSのシェアは、90%を超えるといわれています。 パソコン用以外に、POSシステムやスマートフォンなどの携帯端末用、サーバ用のOSもあります。
MacOSとは、Appleの開発していたGUI(グラフィカルユーザーインターフェース)を採用したオペレーションシステム(OS)です。Macintoshと共に、市場に出てGUIの普及に大きく貢献しました。