ms8r / celnav

Celestial navigation for cruising sailors
20 stars 5 forks source link

File installation into /usr/share/applications #1

Closed jvgravy closed 8 years ago

jvgravy commented 8 years ago

Hello - I'm keen to install your software, but I'm a python newbie and have run into a problem which I hope you can help me with. I've downloaded an unzipped the archive, and run python setup.py install. The script fails at the point where it tries to create the /usr/share/applications directory with the following message: creating /usr/share/applications error: could not create '/usr/share/applications': Operation not permitted Oddly I can't manually create any directory even when I run the mkdir command in sudo. I've no idea what might be going on! Can you help? Best regards, James

jvgravy commented 8 years ago

...I should have mentioned that I'm trying to install on my Mac under OS X

ms8r commented 8 years ago

Hello James - The setup.py was originally tweaked to work with Navigatrix, an LXDE based Linux distro. I don't have access to a Mac but it should be straightforward to manually setup CelNav by doing the following:

With that being done launch the application by opening a terminal in the unzipped celnav directory and running

python cnscript.py

Let me know if this works and I can amend the Readme accordingly.

You mention that you're new to Python (welcome ;-) -- perhaps a small warning: celnav was my first Python project. While I think the overall design is OK (but can certainly be improved), the code itself is not always very "pythonic", i.e. there will be more elegant/simple/idiomatic ways to do the same thing in Python. So take the code with a grain of salt if this is part of a learning exercise.

That being said: it's pretty well documented and has run without trouble for us in three years of cruising the Pacific. Also: it's a low barrier to entry if you want to toy with it - it can only get better ;-)

If you don't mind me asking: how did you come across celnav?

Thanks, Markus

jvgravy commented 8 years ago

Hi Markus - thanks for your quick and full reply! I’ll have a tinker with the program and will let you know how I get on. It may take a while. I’m new to Python, but had plenty of programming experience in a past life (a long time ago) so hopefully I can find my way around and feel at home with your programming style! I came across ms8r/celnav with a google search looking for python tools relating to celestial navigation. I can’t remember exactly the search term I used, but I found it after I had played with PyEphem for a while. I was hoping to avoid having to research and program the corrections for refraction etc, after I discovered that PyEphem doesn’t provide tools to access these functions. (or does it?!) Best regards, James.

James Vernon

On 23 Jan 2016, at 10:50, Markus Schweitzer notifications@github.com wrote:

Hello James - The setup.py was originally tweaked to work with Navigatrix http://navigatrix.net/viewforum.php?f=21, an LXDE based Linux distro. I don't have access to a Mac but it should be straightforward to manually setup CelNav by doing the following:

Create a directory .celnav under your home directory (for me that would result in /home/markus/.celnav)

Under the unzipped celnav directory go into the data_files directory and copy the files celnav.ini and celnav.cfg plus the entire doc folder to the newly created .celnav directory under your home directory.

Edit a few settings in the celnav.ini file in the .celnav folder under your home directory:

SPREADSHEET_PATH in line 25: set this to point to the executable of a spreadsheet application that can be used to view CSV files (only required to display almanac pages and star data tables created by the program)

EDITOR_PATH in line 27: set this to point the the executable for a text editor application (only required for displaying configuration and log files)

BROWSER_PATH in line 28: executable for web browser, required to display help pages. Only required if you want to access the documentation from the application's Help menu. Alternatively, you can just open the index.html file in doc/html directory with a browser.

HELP_FILE_PATH in line 34: set to home/[your name]/.celnav/doc/html/index.html (only required if you want to access the documentation from the application's Help menu, see above).

INITIAL_LAT, INITIAL_LON (lines 42-43): you can set these to your location to have the program start with the correct 'assumed position'.

With that being done launch the application by opening a terminal in the unzipped celnav directory and running

python cnscript.py Let me know if this works and I can amend the Readme accordingly.

You mention that you're new to Python (welcome ;-) -- perhaps a small warning: celnav was my first Python project. While I think the overall design is OK (but can certainly be improved), the code itself is not always very "pythonic", i.e. there will be more elegant/simple/idiomatic ways to do the same thing in Python. So take the code with a grain of salt if this is part of a learning exercise.

That being said: it's pretty well documented and has run without trouble for us in three years of cruising the Pacific. Also: it's a low barrier to entry if you want to toy with it - it can only get better ;-)

If you don't mind me asking: how did you come across celnav?

Thanks, Markus

— Reply to this email directly or view it on GitHub https://github.com/ms8r/celnav/issues/1#issuecomment-174171004.

ms8r commented 8 years ago

I discovered that PyEphem doesn’t provide tools to access these functions. (or does it?!)

When computing bodies with an ephem.Observer object as argument, PyEphem will return apparent topocentric altitude. This will include refraction but not dip and index error corrections. Also the star catalogue that ships with PyEphem misses quite a few of the standard navigational stars.

I’m new to Python, but had plenty of programming experience in a past life (a long time ago)

Same here - celnav started after a 20 year hiatus from C and FORTRAN... ;-)

jvgravy commented 8 years ago

Thanks Markus - I’ll let you know how I get on.