Der Standardansatz funktioniert nicht:
brew install libtorrent-rasterbar
Installiert die Boost-Anforderung (mit dem System Python verknüpft) und libtorrent-rasterbar wird ohne Python-Bindungen installiert.
Wie können Sie das beheben?
Nachdem ich viel gegraben, gegoogelt und probiert habe, konnte ich alles zum Laufen bringen. Ich teile meine Erfahrungen hier in der Hoffnung, anderen die Mühe zu ersparen.
Der erste Schritt besteht darin, sicherzustellen, dass Sie Python ordnungsgemäß installiert haben. Überprüfen Sie, ob which python
die richtige Python-Version zurückgegeben wird (wahrscheinlich so etwas wie /usr/local/bin/python
)
Überprüfen Sie mit dem folgenden Befehl, ob Ihr Boost mit der richtigen Version von Python verknüpft ist (Ändern Sie / usr / local ggf. in Ihr Homebrew-Präfix).
otool -L /usr/local/lib/libboost_python-mt.dylib
Das Ergebnis sollte die folgende Zeile enthalten:
/usr/local/Frameworks/Python.framework/Versions/2.7/Python (compatibility version 2.7.0, current version 2.7.0)
Wenn es auf irgendwo hinweist /System/Library/Frameworks
, müssen Sie Ihre Boost-Bibliotheken neu erstellen und einen Build aus dem Quellcode erzwingen ( ref ):
brew rm boost ; brew install boost --build-from-source
Sobald dies erledigt ist, können Sie die obige Zeile ausführen, um die korrekte Verknüpfung zu überprüfen.
Nachdem der Boost ordnungsgemäß installiert wurde, kann libtorrent-rasterbar sie zum Erstellen der Python-Bindungen verwenden. Wir müssen die Formel bearbeiten, um sie zu aktivieren, aber auch, um den Erstellungsprozess darüber aufzuklären, wo sie zu finden sind.
Führen Sie es aus brew edit libtorrent-rasterbar
und ändern Sie es entsprechend:
def install
system "./configure", "--disable-debug",
"--disable-dependency-tracking",
"--enable-python-binding",
"--with-boost-python=mt",
"--prefix=#{prefix}"
Die zwei wichtigen Zeilen hier sollen die Python-Bindungen mit aktivieren --enable-python-binding
und die zweite soll --with-boost-python=mt
zeigen, dass sie mit dem Suffix "mt" ( ref ) installiert wurden .
Auf diese Weise kann der Erstellungsprozess die im ersten Schritt installierte Boost-Bibliothek erkennen. Schließen Sie den Editor und verfahren Sie brew install libtorrent-rasterbar
wie gewohnt.
Um sicherzustellen, dass alles funktioniert hat:
% python
Python 2.7.3 (default, Feb 10 2013, 10:53:34)
[GCC 4.2.1 Compatible Apple LLVM 4.2 (clang-425.0.24)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import libtorrent
>>>
brew install libtorrent-rasterbar --with-python
funktioniert.quelle
Ich fand auf Github einen Kommentar zur Installation von Paketen über Brew wie zum Beispiel libtorrent-rasterbar. Sie stellen keine Verbindung zu Python her, ohne dass brew ausdrücklich dazu aufgefordert wird. Sie müssen also den Befehl --with-python hinzufügen, um den Installationsbefehl zu erstellen:
Sie müssen Python nicht von Brew installieren, sondern können es bereits auf Ihrem Mac verwenden. Sie müssen jedoch Brew-Python-Pakete mit Ihrem Pfad verknüpfen, damit Sie sie direkt aus Python importieren können:
Getestet unter: MAC OS X Yosemite 10.10.3
quelle