気が狂いそうです。pygit2
作業を開始できるように、Macbook Air の python virtualenv に単純にインストールしようとしています。しかし、これはうまくいかず、私は一日中セットアップしようとしています.
私はこれらの指示に従うことになっています:
http://www.pygit2.org/install.html#how-to-install
rpath
どうやらMacではこれが異なる方法で実装されているため、私は数え切れないほどのことを試しました。
Mac OSX で gcc を使用して実行可能ファイルのランタイム パス (-rpath) を設定するにはどうすればよいですか?
...そして無数の他のバリエーション、私はこの時点で推測していますpygit2
が、それを構築しようとするたびに、常にこの結果につながります:
(testenv)emil ~/sites/env/testenv/pygit2 > which python
/Users/emil/Sites/env/testenv/bin/python
(testenv)emil ~/sites/env/testenv/pygit2 > python -c 'import pygit2'
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "pygit2/__init__.py", line 32, in <module>
import _pygit2
ImportError: dlopen(/Users/emil/sites/env/testenv/lib/python2.7/site-packages/_pygit2.so, 2): Symbol not found: _git_remote_fetchspec
Referenced from: /Users/emil/sites/env/testenv/lib/python2.7/site-packages/_pygit2.so
Expected in: flat namespace
in /Users/emil/sites/env/testenv/lib/python2.7/site-packages/_pygit2.so
ライブラリを適切にリンクしていないようです:
(testenv)emil ~/sites/env/testenv/pygit2 > nm /Users/emil/sites/env/testenv/lib/python2.7/site-packages/_pygit2.so | grep _git | less
000000000000626c T _Repository_git_object_lookup_prefix
0000000000011288 d _Repository_git_object_lookup_prefix__doc__
U _git_blob_create_frombuffer
U _git_blob_create_fromdisk
U _git_blob_create_fromworkdir
U _git_blob_rawsize
U _git_checkout_head
U _git_checkout_index
U _git_checkout_tree
U _git_commit_author
U _git_commit_committer
U _git_commit_create
U _git_commit_free
U _git_commit_lookup
U _git_commit_lookup_prefix
...
pipを使用しようとすると、次のように表示されます。
(testenv)emil ~/sites/env/testenv/pygit2 > pip install pygit2
Requirement already satisfied (use --upgrade to upgrade): pygit2 in /Users/emil/sites/env/testenv/lib/python2.7/site-packages
Cleaning up...
(testenv)emil ~/sites/env/testenv/pygit2 > pip install pygit2 --upgrade
Requirement already up-to-date: pygit2 in /Users/emil/sites/env/testenv/lib/python2.7/site-packages
Cleaning up...
助けを求める前に誰かがこれを設定した場合は、これを使用して問題を文書化し、考えを整理し、できれば解決策を記録します.