10
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

闇の魔術に対する防衛術Advent Calendar 2019

Day 17

アカデミア・ポッターと謎のパイソンパス

Last updated at Posted at 2019-12-16

前置き

昨年、闇の魔術アドカレに出来心でブラック研究室時代のことを書いたところ、うっかりバズってしまい、自身で一番いいねを獲得した記事がクソポエムという有様になってしまった1

今年も性懲りもなくエントリーしてしまったので、当時の苦労話でも書こうと思う。(さすがにこれはバズらない...?)

汚されたPYTHONPATH

前回記事で書いた通り、

  • コンピュータについては超保守的なスタッフ陣(せいぜいfortran90が最新
  • プログラミングを扱う研究室なのにお世辞にもマナーがいいとは言えないメンバー

の下で、自分のプログラマとしての信念をなんとか作りながら黙々とコードを書いていたわけだが、そんな中でも一つ上で仲よくしてもらった先輩がいた。その先輩は保守的な研究室の中でも自分と同じエンジニア気質だったが、逆に理論研究方面よりは情報系に傾倒しすぎていたので、研究室の中でも異端扱いされていた。自分は、理論はほかの博士課程の先輩2に指導を仰ぎつつ、プログラミングに関してはその先輩からSNSでもらったりしていた3

と、内輪話はここまでにしておいて、「Pythonを使うのは自分かその先輩くらい」という状況だったわけだが、Python3ではなくPython2を使っていた。理由はなぜかmatplotlibなどの主要ライブラリがうまく動かないからだった。ほかにもgitなどいくつかのソフトがうまく動かないことがあった。よくわからないが、Python2だと問題がなかったので、Python2でポストプロセスコードを書いたりしていた。

ある日、環境変数を見る機会があった。すると、何やらわけのわからないところにPATHが通っていた。よく見ると、エンジニア先輩が普段使っている共有ディレクトリだった。おそらく、スパコンシステムのrootなんて取れるわけがないので、--userフラグを立ててインストールしたのだと思う。PYTHONPATHもおそらくそのパスが入っていたと思う。

相当ぐっちゃぐちゃになっていたうえ、当時は自分もそこまで知識がなかったので、結局何も対処することなく修了してしまった。

対処法

gitに関しては一言では書ききれないが、Pythonのライブラリについては、venvを使うことで回避できる。

venvを使えば、仮想環境を元ある環境から切り離すことができるし、rootが必要なディレクトリを使わずライブラリを入れることができる。そのうえほかのユーザにも影響を及ぼさない。

ちなみに、venvについては、先日自分でまとめてあるので参考にしてもらいたい(ダイマ)。
https://qiita.com/bluepost59/items/c13c88a9387e28189d7b

追記

venvはもう古いらしい。

まとめ

この記事にエンジニア先輩を責める意図は一切ない。先輩も当時は学生だし、新しいものを入れてみたいという気持ちはよくわかる。

結局今年も半分以上ポエムになってしまったが、誰かの役に立てばうれしい。

  1. こんなアカウント、転職したくなっても見せれない、転職するつもりはしばらくはないが...。

  2. この人はがっつり物理屋で、プログラミングに関してはあまり詳しくない。

  3. 対面じゃないのかということについては、その人が自分以上に研究室に来ないというのもあったが、自分がオフタイムも相当つぶして研究していたという事情もある。当時は「D進するなら公私の区別なんかせずに打ち込んで当たり前」みたいな考えを持っており、その上スパコンにはインターネットがあればSSHでつなぐことができたので、自宅でも深夜3時くらいまで研究室のコードをいじっているのが当たり前だった。そのため、「つまったところがあるとtwitterでツイートしたら、その先輩に教えてもらえた」ということが多々あった。今、冷静に考えてみれば、そんな**「オフの時間も突っ込む」というようなスタイルが、職業にできるほどに持続可能であるわけがない**のだった。

10
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
10
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?