Coder Social home page Coder Social logo

Comments (4)

olofk avatar olofk commented on May 23, 2024

The original plan was to use distutils, distribute, setuptools, pip, easy_install, waf, scons... whatever it's called, but Python packaging looked like a mess to me, so I decided that it was way easier to use autotools instead. One thing that I couldn't figure out was how to install the package to some user-writable location. It seemed like it forced installation to /usr/lib/.... I'm not sure I'm convinced by the greatness of pip/pypi either when at least all Linux distributions already have package managers.

With that said, I'll happly accept patches however to make it work in a more python-friendly way. I would however prefer to have the automake system still around side-by-side with distutils, at least until the next released version

from fusesoc.

olofk avatar olofk commented on May 23, 2024

I tried the patch now and installing works fine. There are some things that I can't figure out how to do however.

  1. I can't see any way to uninstall
  2. I'm having problems installing to a custom directory. (Not sure I need this though. Can as well run from the source directory)
  3. Can't figure out how to handle dependencies. Right now there's a hard dep on git and some other basic tools. Also, svn is an optional dependency. (In worst case these could be handled at runtime with exceptions, but having proper install-time dependencies makes it easier for package maintainers)

from fusesoc.

chiggs avatar chiggs commented on May 23, 2024

Agreed, Python packaging is a total mess. Sadly, it's probably never going to get sorted out. Question is whether to try and fit in with the mess or not - I think it will be easier for users ultimately if fusesoc behaves like other Python packages. Keeping automake in parallel with distutils sounds like a very sensible compromise.

I can't see any way to uninstall

This is a general problem with Python packaging. In theory pip uninstall fusesoc should work though I haven't tested it.

I'm having problems installing to a custom directory. (Not sure I need this though. Can as well run from the source directory)

pip install --install-option="--prefix=/some/user/location" .

Can't figure out how to handle dependencies.

Apparently the standard mechanism is to check in setup.py and raise an exception with a helpful error message. This doesn't help package maintainers though and is a slightly cruddy way of doing things.

from fusesoc.

olofk avatar olofk commented on May 23, 2024

Fair enough. I see the benefits of being on pypi and keeping up with what the rest of the Python world is doing. I simplified the autotools files a bit to make it easier to co-exist with distutils. If you rebase your patches, just add setup.{cfg,py} and change version to 1.4-dev (or whatever distutils uses to indicate that this is a development version that will end up as 1.4 in time) I'm happy to add this

from fusesoc.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.