Mac üzerinde python ile Quantlib?

Quantlib python om mac için çalışırken iyi bir rehber bilen var mı? İnternette arama yapmaya çalıştım ve iyi bir yönlendirme bulamadım. Python'da bir proje için quantlib kullanmam gerek.

Mevcut mac için python için quantlib yok gibi görünüyor.

Teşekkürler.

2
Eminim Luigi Ballabio'yu Quantyt'ını Python defterine sundu. Üzerinde arama yapabilir misin?
katma yazar John, kaynak

4 cevap

Kurulum işlemi Linux ile aynı olmalıdır. C ++ QuantLib kitaplığı yüklendikten sonra (bunun için talimatlar QuantLib sitesindedir, http://quantlib. org/install/macosx.shtml ) en son QuantLib-SWIG sürümünü indirebilir, açabilir ve çalıştırabilirsiniz:

./configure
make -C Python
sudo make -C Python install

Yukarıdakilerin yayınla ile çalıştığını unutmayın ( adresinden aldığınız dosyalar gibi). https://sourceforge.net/projects/quantlib/files/ ) ve popüler inancın aksine, SWIG'nin yüklü olmasını gerektirmez.

Instead, if you want to work from a checkout of the git repository (either because you want to modify the interfaces, or because you want a new feature which is not yet available in a release) you'll need SWIG—but not a separate command, as make takes care of it—and you'll also need to run

./autogen.sh

diğer komutlardan önce; Bu automake ve autoconf yüklenmesini gerektirir. (Notun sonu.)

Düşünebileceğim iki veya üç uyarı var. Birincisi, ./ configure adımının, derleyiciye ve bağlayıcıya hangi bayrakların iletilmesi gerektiğini bulmak için quantlib-config 'u çağırması gerektiğidir. QuantLib oluşturduğunuzda belirttiğiniz dizinleri dahil edin, böylece standart olmayan bir yerde Boost'unuz olsa bile kaplanacaksınız). Bu, yolunuzda quantlib-config olması gerektiği anlamına gelir.

İkincisi, maalesef make 'in ./ configure ' a geçebileceğin herhangi bir öneki yoksayar ve her zaman sudo . Yönetici haklarınız yoksa Makefile’ye bakmanız ve ön kodunuzu setup.py 'a aktarmanız gerekir.

Üçüncüsü, Python geliştirme dosyalarına ( python.h vb.) İhtiyaç duyacağınızdır. Varsayılan olarak kullanılabilirler (ve eğer böyle bir şey varsa, make setup.py çağrılarını sizin için bulabilirler); ama değilse, onları nasıl alacağınızı anlamanız gerekir.

Son olarak, Docker kullanırsanız, bir https://hub.docker.com/r/lballabio/quantlib-python/ .

4
katma
Son komut modülü nereye yükledi? (Ekrandaki bilgileri çıkarmalı.) Muhtemelen yerin PYTHONPATH 'da olduğundan emin olmalısınız.
katma yazar Brad Tutterow, kaynak
İnternette bir yere yapıştırabilir ve bağlantı kurabilir misin? Bir başlık veya kütüphane hakkında bir şey bulunamadı mı?
katma yazar Brad Tutterow, kaynak
Bu tuhaf. Düğme yerine python çağırıyor ve tabii ki komut satırı argümanları bunun için anlam ifade etmiyor. Ama hiç bir şey çağrılmamalı. Bir sürümden mi çalışıyorsunuz? Herhangi bir bayrağı ./ configure 'e geçirdiniz mi?
katma yazar Brad Tutterow, kaynak
katma yazar Brad Tutterow, kaynak
Merhaba, bana verilen komutları kullanarak, en son QuantLib-SWIG sürümünü kullanarak yöntemi denedim. Ancak ithalat QuantLib'i python'da ql olarak kullanmaya çalışırken, işe yaramıyor. Hala "QuantLib adlı bir modül yok" diyor
katma yazar aLu, kaynak
Aslında -C Python ile problemim var, uzun bir hata veriyor: clang: error: böyle bir dosya veya dizin yok: 'QuantLib/quantlib_wrap.cpp' clang: error: giriş dosyası hatası yok: 'cc' komutu çıkış durumuyla başarısız oldu 1 yapmak [1]: *** [.build-stamp] Hata 1 yapmak: *** [install] Hata 2,
katma yazar aLu, kaynak
işte gidiyorsunuz: pastebin.com/cztK0GW8
katma yazar aLu, kaynak
Bunu halledebilirsem harika olurdu
katma yazar aLu, kaynak

Muhtemelen bunu elde etmenin en kolay yolu, sizin için Python bağımlılıklarına ve cetera'larına dikkat edecek olan MacPorts'tur. Henüz yapmadıysanız, bu talimatları kullanarak MacPorts kullanmaya başlayabilirsiniz.

MacPorts yüklendikten sonra basitçe

sudo port install QuantLib

Hemen hemen sadece resmi önerileri takip eden QuantLib kullanıcılarından doğru kitaplık işaretçileri .

1
katma
Açıklama için teşekkürler ... Sanırım sadece onu denemiştim. Bağlantıları MacPorts Python'a eklemek için iyi bir yol var mı?
katma yazar Dean Bates, kaynak
Bu, ancak C ++ kitaplığını yükler. Python bağlamaları dahil edilmiş gibi görünmüyor.
katma yazar Brad Tutterow, kaynak
Bilmem. MacPorts'a aşina değilim.
katma yazar Brad Tutterow, kaynak

Sadece bir not olarak, QuantLib 1.9 ve Python 2.7.12 için derledim. Makroları kullanarak QuantLib'i kurdum, sonra derleme hatasını anlamaya çalışırken çok zaman harcadım. Aşağıdaki gibi yapın:

1) ./configure öğesini göz ardı edin ve adım atın 2) Python klasörü için düz git 3) çalıştırın: python setup.py build 4) i386 crap ve x86_64 hakkında şikayet ettikten sonra, aşağıdakileri çalıştırın (tekrar derleyin):

g ++ -fno-katı-aliasing -fno-common -dynamic -arch x86_64 -g -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototipler -I/Kütüphane/Çerçeveler/Python.framework/Sürümler/2.7/include/python2 .7 -I/opt/local/include -I/opt/local/include -c QuantLib/quantlib_wrap.cpp -o yapı/temp.macosx-10.6-intel-2.7/QuantLib/quantlib_wrap.o -Wo-kullanılmamış

5) Tekrar bağlantı:

g ++ -bundle -undefined dynamic_lookup -arch x86_64 -g yapı/temp.macosx-10.6-intel-2.7/QuantLib/quantlib_wrap.o -L/opt/local/lib -L/opt/local/lib -lQuantLib -o oluşturma/lib.macosx-10.6-Intel-2,7/QuantLib/_QuantLib.so

6) Python setup.py yüklemesini KULLANMAYIN

7) python setup.py testini çalıştırın, işe yarayıp yaramadığını kontrol edin

8) build/lib.macosx-10.6-intel-2.7/python site paketlerine QuantLib klasörünü kopyalayın (Frameworks/Python.framework/Versions/2.7/lib/Python2.7/site-pack

Tercüman olarak test edin. Başkalarının takip edebileceği şeyler:

Dürüst olmak gerekirse, yapım sürecinde iki kemer işaretinin nedenini bilmiyorum (-arch i386 -arch x86_64), ama bunun lib'leri bağlama sorunu olduğunu biliyorum. Setup.py ve ortam değişkenlerindeki her şeyi kontrol ettim, nerede ayarlandığını bilmiyorum. Ayrıca, sudo python setup.py yüklemesinin neden dosyaları düzgün şekilde taşıyacağını bilmiyorum.

1
katma

Enthought kapsamının sınırlı olan Python sarmalayıcılarına sahip olduğuna inanıyorum. QuantLib'in ve bağımlılıklarının yüklü olduğundan emin olun:

git clone https://github.com/enthought/pyql.git
cd pyql
python setup.py build
python setup.py test
python setup.py install

Aksi takdirde, kanonik yol SWIG bağlantılarını kullanmaktır .

Enthought kütüphanesini biliyorum ama çok kısıtlı. Daha çok bir prototip gibi.
katma yazar John, kaynak