LoginSignup
8
1

More than 3 years have passed since last update.

virtualenv環境構築に伴うエラー:dyld: Library not loaded: @executable_path/../.Pythonやpathの問題

Last updated at Posted at 2019-06-18

Pythonの環境構築でのエラー

プロジェクトでpythonを用いた環境構築をする必要があった。
github上のrepositoryをクローンして、指定のINSTALL.mdにしたがってインストールを進めていった。
そこで、virtualenvをインストールする必要が出てきた。
こうすべきだったという点や、異なる点があればご教示いただけますと幸いです。

前提

  • ドキュメントの手順通りにvirtualenv,virtualenvwrapperをインストールした。
  • pyenvを過去にインストールしていた。
  • パッケージマネジャはpipでvirtualenvを仮想環境構築に用いたい。

開発環境

  • macOS Mojave ver10.14.5
  • zsh
  • pip

エラー①

$ python3
dyld: Library not loaded: @executable_path/../.Python
Referenced from: /Users/name/.pyenv/versions/3.7.3/bin/./python3.7
Reason: image not found

$ which python
/Users/name/.pyenv/shims/python

原因

よくわからず。あまり理解していない状態でvirtualenv,virtualenvwrapperを導入してしまったことによるかもしれない。

対策

pyenvを削除し、pythonの再インストールを。
ただ、これによりpythonがグローバルに再インストールされてしまいvirtualenvのpathと紐づかなくなってしまった。

$ which python
/Users/name/.pyenv/shims/python

$ rm -rf /Users/name/.pyenv
$ brew uninstall pyenv
$ brew reinstall python
  ~Python has been installed as
  /usr/local/bin/python3
$ which python
/usr/bin/python

エラー②

virtualenv下でのpathが変わらず。
ドキュメント通りに再度やってみた。

$ cd virtualenv_project
$ which python
/usr/bin/python
$ which pip
/Users/name/.virtualenvs/virtualenv_project/bin/pip

しかし変わらず。

対策

そこでzshrcにvirtualenv下でのpathを追記した。

.zshrc
+ export VIRTUALENVWRAPPER_PYTHON=/usr/local/opt/python/bin/python3.7

すると

$ cd home
$ which python
/usr/bin/python
$cd virtualenv_project
$ which python
/Users/name/.virtualenvs/virtualenv_project/bin/python

反省

  • まずは核となるドキュメントを参考にすること。
  • エラー文をよく読むこと。
  • いらないものは整理した方がいい場合が多い。(pyenvとvirtualenvのどっちを使うのか)
  • ドキュメントにインストールするものが書いてあっても、鵜呑みにせずにまず中身を調べてどのような働きをするのかを理解した上でインストールする。またアンインストールも然り。

参考文献

How to configure virtualenvwrapper with python3 in OSX Mojave

8
1
2

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
8
1