"pyswisseph" lässt sich nicht installieren

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
GHoeberth
User
Beiträge: 8
Registriert: Mittwoch 27. August 2014, 17:44

Hallo
ich bin Anfänger (kenne Python bisher nur aus Blender, habe dort aber schon ein bisschen programmiert). Jetzt möchte ich Python aber mit einer IDE verwenden (nach vergeblichen Versuchen mit Spyder und Eric bin ich jetzt gerade bei PyCharm gelandet)

Vor einigen Jahren habe ich in VisualBasic 5.0 ein Programm geschrieben, das Planetenpositionen in Mandalas umwandelt.
Mit .net bin ich aber nicht mehr mitgegangen. Nun wollte ich das in Python nachbauen. Das Problem: ich brauche dazu die "sweDLL.dll", die mir die Planetenpositionen errechnet.
Nun habe ich "pyswisseph" gefunden:
http://pypi.python.org/pypi/pyswisseph

Aber wenn ich versuche, das zu installieren, bekomme ich diese Antwort:

Code: Alles auswählen

D:\Python34\python.exe D:/Python34/pyswisseph-2.00.00-2/setup.py
Searching system libswe...
usage: setup.py [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...]
pkg-config not found
   or: setup.py --help [cmd1 cmd2 ...]
Using internal libswe
   or: setup.py --help-commands
   or: setup.py cmd --help

error: no commands supplied

Process finished with exit code 1

Ich weiß aber nicht, was ich damit anfangen soll. Ich spiele mich jetzt schon 3 Tage damit, das zu installieren. Langsam macht sich Frust breit :-(
Hat jemand Erfahrung mit "pyswisseph" oder einem ähnlichen Modul?

herzlichen Gruß
Gerhard

Edit: Ach ja, ich arbeite mit Windows7 64bit...
bb1898
User
Beiträge: 200
Registriert: Mittwoch 12. Juli 2006, 14:28

[quote="GHoeberth"
Nun habe ich "pyswisseph" gefunden:
http://pypi.python.org/pypi/pyswisseph
...
Ich weiß aber nicht, was ich damit anfangen soll. Ich spiele mich jetzt schon 3 Tage damit, das zu installieren. Langsam macht sich Frust breit :-(
Hat jemand Erfahrung mit "pyswisseph" oder einem ähnlichen Modul?
[/quote]
Erfahrung gar nicht, nur mal auf die Homepage http://astrorigin.ch/pyswisseph geguckt. Dort findet sich zu "Windows installation" dieser knappe Hinweis:
"Compilation on windows systems goes the cmake way. You will have to get the software from their website." "their website" ist ein Link zur Seite von cmake.

Mit anderen Worten: kein Windows-Installer, auch unter Windows musst Du das selbst kompilieren. Die auf der PyPi-Seite erwähnte "Standard-Installation", die Du probiert hast, ist schon dort mit "Unixes" gekennzeichnet und das ist wohl ernst zu nehmen.
GHoeberth
User
Beiträge: 8
Registriert: Mittwoch 27. August 2014, 17:44

bb1898 hat geschrieben:Die auf der PyPi-Seite erwähnte "Standard-Installation", die Du probiert hast, ist schon dort mit "Unixes" gekennzeichnet und das ist wohl ernst zu nehmen.
:oops:

Dann kann ich natürlich lange probieren ... :roll:

Danke für den Hinweis!
Jetzt muss ich nur noch rausfinden, wie man mit cmake kompiliert ... :(
(warum das nur immer alles so kompliziert sein muss ... :K )

Gruß
Gerhard

PS: mache mich auf die Suche nach CMake Tutorials :?
bunkus
User
Beiträge: 3
Registriert: Sonntag 2. November 2014, 00:08

Es gibt ein freeware Programm namens Morinus, in dem das complierte Modul namens sweastrology.pyd enthalten ist.
Die Seite ist zu finden unter https://sites.google.com/site/pymorinus/Home, unter Download Binary ganz unten
und ganz rechts die Datei MorinusWinEng.zip runterladen.

Das Modul in das Verzeichnis site-packages kopieren (z.B. C:\Python27\Lib\site-packages)

Du kannst in einem Python Programm dann das Modul importieren z.B:

Code: Alles auswählen

#!/usr/bin/env python
# -*- coding: utf-8 -*-

import sweastrology as swe
print dir(swe)
print swe.swe_version()
# swe.swe_set_ephe_path("./swisseph")
jd = swe.swe_julday(2014, 11, 2, 12, 1)
for i in range(23):
    print i,":",swe.swe_get_planet_name(i),":",
    print swe.swe_calc(jd, i, 0)
Mit swe_set_ephe_path solltest du den Pfad zu den Ephemeriden-Dateien setzen,
die du unter ftp://ftp.astro.com/pub/swisseph/ephe/ bekommst.
GHoeberth
User
Beiträge: 8
Registriert: Mittwoch 27. August 2014, 17:44

bunkus hat geschrieben:Es gibt ein freeware Programm namens Morinus, in dem das complierte Modul namens sweastrology.pyd enthalten ist.
SUPER! Danke, werde mir die Sache gleich mal ansehen. Denn bisher hatte ich noch keine wirklich Lösung für mein Problem :-)

herzlichen Gruß
Gerhard
mephisto-online
User
Beiträge: 167
Registriert: Sonntag 29. September 2013, 17:05

Hallo,

das Thema ist jetzt schon etwas "abgehangen", aber die Lösung für GHoeberth hilft mir jetzt bei dem gleichen Problem nicht weiter, weil ich das ganze für Python34 (unter Win81) brauche und diese pyswisseph sich einfach nicht compilieren lässt, nicht mit VS2010, nicht mit Minimal-MingGW (habe nur ne 50gb ssd im Convertable). Habe die Pfade für Python und MingGW brav zum Path hinzugefügt und versuche die Tarballs (gibt wohl 2 ?) per "C:\Users\Icke\Downloads\pyswisseph-master>python setup.py install build --compiler=mingw32" zu compilieren, bekomme aber Fehlermeldungen:

Code: Alles auswählen

Searching system libswe...
pkg-config not found
Using internal libswe
running install
running build
running build_ext
Traceback (most recent call last):
  File "setup.py", line 232, in <module>
    ext_modules = [swemodule]
  File "c:\python34\lib\distutils\core.py", line 148, in setup
    dist.run_commands()
  File "c:\python34\lib\distutils\dist.py", line 955, in run_commands
    self.run_command(cmd)
  File "c:\python34\lib\distutils\dist.py", line 974, in run_command
    cmd_obj.run()
  File "c:\python34\lib\distutils\command\install.py", line 539, in run
    self.run_command('build')
  File "c:\python34\lib\distutils\cmd.py", line 313, in run_command
    self.distribution.run_command(command)
  File "c:\python34\lib\distutils\dist.py", line 974, in run_command
    cmd_obj.run()
  File "c:\python34\lib\distutils\command\build.py", line 126, in run
    self.run_command(cmd_name)
  File "c:\python34\lib\distutils\cmd.py", line 313, in run_command
    self.distribution.run_command(command)
  File "c:\python34\lib\distutils\dist.py", line 974, in run_command
    cmd_obj.run()
  File "c:\python34\lib\distutils\command\build_ext.py", line 308, in run
    force=self.force)
  File "c:\python34\lib\distutils\ccompiler.py", line 1031, in new_compiler
    return klass(None, dry_run, force)
  File "c:\python34\lib\distutils\cygwinccompiler.py", line 282, in __init__
    CygwinCCompiler.__init__ (self, verbose, dry_run, force)
  File "c:\python34\lib\distutils\cygwinccompiler.py", line 126, in __init__
    if self.ld_version >= "2.10.90":
TypeError: unorderable types: NoneType() >= str()
"python pip install pyswisseph" möchte VS/VC++2010 (?) sehen :

Code: Alles auswählen

error: Microsoft Visual C++ 10.0 is required (Unable to find vcvarsall.bat)
CMake ist installiert...

Fummele auch schon einige Abende daran rum ... :roll:

Wie kann/muss ich denn Python34 (oder pip ?) mit MingGW verknüseln ?

Kann mir da vielleicht jemand helfen ?

Grüße
m-o :)
Benutzeravatar
darktrym
User
Beiträge: 784
Registriert: Freitag 24. April 2009, 09:26

Wieso kompilierst du nicht das Paket so wie es da steht? Es verlangt nicht umsonst explizit VC 10. Und wenn in der Shell dann nicht der Compiler gefunden wird, solltest du vielleicht auch mal das angebene Skript ausführen.
„gcc finds bugs in Linux, NetBSD finds bugs in gcc.“[Michael Dexter, Systems 2008]
Bitbucket, Github
mephisto-online
User
Beiträge: 167
Registriert: Sonntag 29. September 2013, 17:05

VC10, ok ! Vielleicht finde ich ja eine "schlanke" Version.

Mit installiertem Visual Studio 2010 hatte es aber auch nicht so einfach geklappt. Ausserdem war die Installation etwas oversized für das kleine Gerätchen, was ich hier habe.
Benutzeravatar
darktrym
User
Beiträge: 784
Registriert: Freitag 24. April 2009, 09:26

Das kann man sicher auch in Virtualbox machen irgendwo wo Platz und Rechenzeit vorhanden sind. Die Methode ist sicher vielversprechender als den Buildprozess grade zu biegen nur damits auch unter mingw funktioniert.
„gcc finds bugs in Linux, NetBSD finds bugs in gcc.“[Michael Dexter, Systems 2008]
Bitbucket, Github
bunkus
User
Beiträge: 3
Registriert: Sonntag 2. November 2014, 00:08

Schau mal unter http://www.lfd.uci.edu/~gohlke/pythonlibs/#pyswisseph

Dort solltest du die Python-Wheels finden, die du dann mit pip install <wheel> installieren kannst.

Ein Testprogramm um die Funktionalität zu testen wäre:

Code: Alles auswählen

#!/usr/bin/env python
# -*- coding: utf-8 -*-

import swisseph as swe
print (dir(swe))

# swe.set_ephe_path("./swisseph")
# swe.set_jpl_file("./swisseph/jplfiles")

jul_dat = swe.date_conversion(2016,12,21,8.5)
print (jul_dat)
for i in range(23):
    print (i, swe.get_planet_name(i),":",swe.calc_ut(jul_dat[1],i) )
# for i in range(40, 55):
#     print (i, swe.get_planet_name(i),":",swe.calc_ut(jul_dat[1],i) )
Antworten