前提
evervimを使用するために,pythonのmarkdownパッケージをインストールしようとしています.
pip install markdown
を実行した結果,エラーが発生し,インストール出来ません.
環境は以下のとおりです.
- El Captan(OS X 10.11.4)
- python2.7
- pip 1.5.6
以下にpip.logの内容を示します.
(10000字の制約があるので途中省略しています.)
ネットで調べてみたのですが,どういうエラーかわからず,自力で解決できませんでした.
どのようにすればよろしいでしょうか?
アドバイスのほど,よろしくお願いいたします.
------------------------------------------------------------
/usr/local/bin/pip run on Thu Apr 14 00:05:41 2016
Downloading/unpacking markdown
Getting page https://pypi.python.org/simple/markdown/
URLs to search for versions for markdown:
* https://pypi.python.org/simple/markdown/
Analyzing links from page https://pypi.python.org/simple/markdown/
Skipping link https://pypi.python.org/packages/any/M/Markdown/Markdown-2.0.1.win32.exe#md5
---------------------中略---------------------
Converting docs/extensions/wikilinks.txt -> build/docs/extensions/wikilinks.html
running install_lib
copying build/lib/markdown/__init__.py -> /lib/python2.7/site-packages/markdown
error: could not delete '/lib/python2.7/site-packages/markdown/__init__.py': Permission denied
Complete output from command /usr/local/opt/python/bin/python2.7 -c "import setuptools, tokenize;__file__='/private/var/folders/kw/s2s66jl17l7634cyv1r17spm0000gn/T/pip_build_mk_mkee/markdown/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /var/folders/kw/s2s66jl17l7634cyv1r17spm0000gn/T/pip-v_8a_Y-record/install-record.txt --single-version-externally-managed --compile:
running install
running build
running build_py
creating build
creating build/lib
creating build/lib/markdown
copying markdown/__init__.py -> build/lib/markdown
copying markdown/__main__.py -> build/lib/markdown
copying markdown/__version__.py -> build/lib/markdown
copying markdown/blockparser.py -> build/lib/markdown
copying markdown/blockprocessors.py -> build/lib/markdown
copying markdown/inlinepatterns.py -> build/lib/markdown
copying markdown/odict.py -> build/lib/markdown
copying markdown/postprocessors.py -> build/lib/markdown
copying markdown/preprocessors.py -> build/lib/markdown
copying markdown/serializers.py -> build/lib/markdown
copying markdown/treeprocessors.py -> build/lib/markdown
copying markdown/util.py -> build/lib/markdown
creating build/lib/markdown/extensions
---------------------中略---------------------
Converting docs/extensions/wikilinks.txt -> build/docs/extensions/wikilinks.html
running install_lib
copying build/lib/markdown/__init__.py -> /lib/python2.7/site-packages/markdown
error: could not delete '/lib/python2.7/site-packages/markdown/__init__.py': Permission denied
----------------------------------------
Cleaning up...
Removing temporary dir /private/var/folders/kw/s2s66jl17l7634cyv1r17spm0000gn/T/pip_build_mk_mkee...
Command /usr/local/opt/python/bin/python2.7 -c "import setuptools, tokenize;__file__='/private/var/folders/kw/s2s66jl17l7634cyv1r17spm0000gn/T/pip_build_mk_mkee/markdown/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /var/folders/kw/s2s66jl17l7634cyv1r17spm0000gn/T/pip-v_8a_Y-record/install-record.txt --single-version-externally-managed --compile failed with error code 1 in /private/var/folders/kw/s2s66jl17l7634cyv1r17spm0000gn/T/pip_build_mk_mkee/markdown
Exception information:
Traceback (most recent call last):
File "/usr/local/Cellar/python/2.7.9/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/pip-1.5.6-py2.7.egg/pip/basecommand.py", line 122, in main
status = self.run(options, args)
File "/usr/local/Cellar/python/2.7.9/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/pip-1.5.6-py2.7.egg/pip/commands/install.py", line 283, in run
requirement_set.install(install_options, global_options, root=options.root_path)
File "/usr/local/Cellar/python/2.7.9/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/pip-1.5.6-py2.7.egg/pip/req.py", line 1435, in install
requirement.install(install_options, global_options, *args, **kwargs)
File "/usr/local/Cellar/python/2.7.9/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/pip-1.5.6-py2.7.egg/pip/req.py", line 706, in install
cwd=self.source_dir, filter_stdout=self._filter_install, show_stdout=False)
File "/usr/local/Cellar/python/2.7.9/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/pip-1.5.6-py2.7.egg/pip/util.py", line 697, in call_subprocess
% (command_desc, proc.returncode, cwd))
InstallationError: Command /usr/local/opt/python/bin/python2.7 -c "import setuptools, tokenize;__file__='/private/var/folders/kw/s2s66jl17l7634cyv1r17spm0000gn/T/pip_build_mk_mkee/markdown/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /var/folders/kw/s2s66jl17l7634cyv1r17spm0000gn/T/pip-v_8a_Y-record/install-record.txt --single-version-externally-managed --compile failed with error code 1 in /private/var/folders/kw/s2s66jl17l7634cyv1r17spm0000gn/T/pip_build_mk_mkee/markdown
2016/04/14追記内容
pipのアップデートを試したところ,エラーが発生したため,
brewでpythonを再インストールしました.
その結果,
- python: ver2.7.11
- pip: ver8.0.2
がインストールされました.
ですが,再インストール後も
pipのアップデートやmarkdownパッケージのインストールでPermissionのエラーが出てしまいます.
% pip install --upgrade pip
IOError: [Errno 13] Permission denied: '/lib/python2.7/site-packages/pip/__init__.py'
% pip install markdown
IOError: [Errno 13] Permission denied: '/lib/python2.7/site-packages/markdown/__init__.py'
試しに,
sudo pip install --upgrade pip
を実行したところ,インストールは完了しましたが,pipコマンドを実行するたびに
Traceback (most recent call last):
File "/usr/local/bin/pip", line 5, in <module>
from pkg_resources import load_entry_point
File "/usr/local/lib/python2.7/site-packages/pkg_resources/__init__.py", line 3130, in <module>
@_call_aside
File "/usr/local/lib/python2.7/site-packages/pkg_resources/__init__.py", line 3116, in _call_aside
f(*args, **kwargs)
File "/usr/local/lib/python2.7/site-packages/pkg_resources/__init__.py", line 3143, in _initialize_master_working_set
working_set = WorkingSet._build_master()
File "/usr/local/lib/python2.7/site-packages/pkg_resources/__init__.py", line 642, in _build_master
ws.require(__requires__)
File "/usr/local/lib/python2.7/site-packages/pkg_resources/__init__.py", line 943, in require
needed = self.resolve(parse_requirements(requirements))
File "/usr/local/lib/python2.7/site-packages/pkg_resources/__init__.py", line 830, in resolve
raise DistributionNotFound(req, requirers)
pkg_resources.DistributionNotFound: The 'pip==8.0.2' distribution was not found and is required by the application
というエラーが出てpipコマンドが使用できなくなってしまいました.
再びpipをpythonごと再インストールし,--user
オプションでmarkdownをインストールするしか無いのでしょうか?
2016/04/20追記
指示されたコマンドを実行した結果,以下のようになりました.
% ls -la /usr/local/lib/python2.7/ | grep -i site-
drwxr-xr-x 19 mk_mkee admin 646 Apr 14 21:24 site-packages
特に/usr/local/lib/python2.7/
以下の権限は触っておらず,ログインユーザにも権限があると思うのですが,
この状態でpip installを実行しても,Permissionエラーとなります...
% pip install markdown
OSError: [Errno 13] Permission denied: '/lib/python2.7/site-packages/markdown'
-
気になる質問をクリップする
クリップした質問は、後からいつでもマイページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
クリップを取り消します
-
良い質問の評価を上げる
以下のような質問は評価を上げましょう
- 質問内容が明確
- 自分も答えを知りたい
- 質問者以外のユーザにも役立つ
評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。
質問の評価を上げたことを取り消します
-
評価を下げられる数の上限に達しました
評価を下げることができません
- 1日5回まで評価を下げられます
- 1日に1ユーザに対して2回まで評価を下げられます
質問の評価を下げる
teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。
- プログラミングに関係のない質問
- やってほしいことだけを記載した丸投げの質問
- 問題・課題が含まれていない質問
- 意図的に内容が抹消された質問
- 過去に投稿した質問と同じ内容の質問
- 広告と受け取られるような投稿
評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。
質問の評価を下げたことを取り消します
この機能は開放されていません
評価を下げる条件を満たしてません
質問の評価を下げる機能の利用条件
この機能を利用するためには、以下の事項を行う必要があります。
- 質問回答など一定の行動
-
メールアドレスの認証
メールアドレスの認証
-
質問評価に関するヘルプページの閲覧
質問評価に関するヘルプページの閲覧
0
まずpipが異常に古いので,
pip install -U pip
でpipをupdateしてください。次に
pip list | grep -i markdown
でMarkdowmがインストールされていないことを確認してください。もしここでされている場合は,
pip uninstall markdown
でmark downをuninstallしてください。
存在しなければ
# rm -fr /lib/python2.7/site-packages/markdown/ \
/lib/python2.7/site-packages/Markdown/
でmarkdown関連のディレクトリを削除します。その後
pip install markdown
でインストールをやり直します。
これでも同じバグをでてしまう場合は,pythonのインストールまたは,pipのインストールから失敗している可能性があるのでこれらをどのようにインストールしたか教えていただけたらと思います。
また,
which python
which pip
の実行結果を教えてください。
site-packagesの権限をログインユーザーに与えて解決してもいいのですが,よく解らないまま権限をいじったりすることはセキュリティリスクや事故の元になる上に根本的な解決にはならないので上記で解決しない場合は,なるべくツールを新しいものにupdate(homebrewなども)して再インストールをオススメします。
それでも治らない場合は無理やり直す方法を提示しますのでご返信お願い致します。
追記
update前のバグとupdate後のバグは別原因で起こっています。
homebrewのupdateを含め,pythonのリインストールをもう一度行ってから次の操作を行うことをお勧めしますが, 以下,確認お願いします。
ls -la /usr/local/lib/python2.7/ | grep -i site-
このとき,drwxr-x--- 163 user_name group 5542 4 14 01:10 site-packages/
のような出力が得られると思うので,user_nameが自分のmacの[user_name@~-MacBook-Pro]と一致するか確認してください。
もし自分のuser_nameと違う場合は,sudo chown -R 自分のuser_name site-packages
を実行して,
drwxr-x---
の2桁目から4桁目がrwxになっていなければ追加で,
sudo chmod u+rwx site-packages
を実行します。その後pipを実行し直してください。
ただしこの方法は,自分一人でPCを使っていることを前提としてます。pcを共有している場合は,別の方法を教えます。
二つ目のバグの根本的な問題はこちらを参考にしてください。
投稿
-
回答の評価を上げる
以下のような回答は評価を上げましょう
- 正しい回答
- わかりやすい回答
- ためになる回答
評価が高い回答ほどページの上位に表示されます。
-
回答の評価を下げる
下記のような回答は推奨されていません。
- 間違っている回答
- 質問の回答になっていない投稿
- スパムや攻撃的な表現を用いた投稿
評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。
0
すでにpipのアップデートについて他の方が言及されていますが、おそらくsetuptools
も古くなっていると思うので更新した方がいいと思います。
pip install -U setuptools pip
これでmarkdownのinstallを試してみてください。
pip install -U markdown
ただ、なんとなくパーミッション関係も絡んでいそうなので、これでもインストールできないようでしたらsudo
をつけるか--user
オプションをつける必要がある気がします。
投稿
-
回答の評価を上げる
以下のような回答は評価を上げましょう
- 正しい回答
- わかりやすい回答
- ためになる回答
評価が高い回答ほどページの上位に表示されます。
-
回答の評価を下げる
下記のような回答は推奨されていません。
- 間違っている回答
- 質問の回答になっていない投稿
- スパムや攻撃的な表現を用いた投稿
評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。
15分調べてもわからないことは、teratailで質問しよう!
- ただいまの回答率 88.35%
- 質問をまとめることで、思考を整理して素早く解決
- テンプレート機能で、簡単に質問をまとめられる
2016/04/14 20:55
質問に追記しました.
ちなみにwhichコマンドの結果は,
/usr/local/bin/python
/usr/local/bin/pip
です.
2016/04/15 13:22
2016/04/20 23:59
情報を追記いたしました.
2016/04/21 00:23 編集
which pipと,userのpipのインストール先が違うsite-packageの位置を指しているのがそもそもおかしいです。
修正
ごめんなさい自分の環境で試してみてあんまり効率のよくない方法だったので対処法を変えます。
/usr/local/binでls -l pipを実行して,その出力を教えてください。
もしそこにシンボリックリンクが貼られていて,installしているpythonと違うpipが指し示されていたらシンボリックリンクを貼り変える方法を追加で書きます。
もしシンボリックリンクではなくpip本体だった場合はインストール先を変えます。
http://qiita.com/rch850/items/5c1b3f858097a5b60c13
を参考に/usr/local/binを指定してみてください。これでも解決しない場合は,またご返信お願いいたします。
2016/04/24 23:43
pip -> ../Cellar/python/2.7.11/bin/pip
python -> ../Cellar/python/2.7.11/bin/python
pythonは元々macに入っていた/usr/bin/pythonと,homebrewでインストールした
/usr/local/bin/pythonがあります.
pip install実行後に,何故か元々のmacのpythonのsite-packageを参照している気がするのですが,対処方法がわからない状態です.
2016/04/25 17:44 編集
ls -al | grep -i pip
を実行して,得られるpipの中身をgedit pipなどで開いてshebanが
#!/usr/local/opt/python/bin/python2.7
になっているか確認してください。なっていなければ,上に直してください。
合っていれば,pip,pip2,pip2.7などがあればそちらでpip installを試してみてください。
homebrewでのインストール手順が正しかったか。また,正しくインストールしたのに治らない場合は,homebrew以外のインストール方法も試してみてください。
http://qiita.com/ms-rock/items/6e4498a5963f3d9c4a67
また,pythonの開発環境を用意するだけであればpyenvを使うことをお勧めします。
http://qiita.com/Kodaira_/items/feadfef9add468e3a85b
環境を無理やり直すことも出来るのですが,次にインストールする際に自分で環境を直さなければいけなくなる上に壊れている原因と考えられることが多数ありそれを特定する作業を指示させていただくだけでも結構骨が折れるので,pyenvで管理するのがお勧めです。