Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Warn when installing incomplete python because of missing -devel packages #115

Open
gthb opened this issue Feb 15, 2013 · 5 comments
Open

Comments

@gthb
Copy link
Contributor

gthb commented Feb 15, 2013

When Python is built without certain -devel packages installed, it is built without support for the corresponding functionality. In particular, SQLite and bzip2. One discovers this later when something fails (e.g. installing a .tar.bz2 tarball) and then must reinstall Python.

It would be nice to emit a warning (or maybe even fail) when building an incomplete Python, suggesting that these packages be installed first. E.g. on Debian:

sudo aptitude install libsqlite3-dev libbz2-dev

@gthb
Copy link
Contributor Author

gthb commented Feb 15, 2013

Maybe just emit to the console this bit from the build output:

Failed to find the necessary bits to build these modules:
_bsddb             _curses            _curses_panel   
_sqlite3           _tkinter           bsddb185        
bz2                dbm                dl              
gdbm               imageop            readline        
sunaudiodev

@brandon-m-skinner
Copy link
Contributor

All well and good, but what about people who don't want these things. The three reasons why this shouldn't be added:

  • Excessive warning/failures.
  • Not everyone needs or wants these.
  • This tool automates the building/installation of python, but doesn't hold your hand. For example, it also doesn't tell you to install build utilities.

All in all, this seems a bit iffy and I don't think this sort of thing should be in the main pythonbrew. However it is open source, you're free to fork and add these features and put in a pull request or have your own version of pythonbrew.

@metcalfc
Copy link

metcalfc commented Apr 4, 2013

Doesn't hold your hand? Thats the biggest pile I've ever heard. If software fails and doesn't tell you why thats a bug. The doc also doesn't mention requirements. Also a bug.

I don't suggest pythonbrew go full meta like rvm --autolibs but documenting requirements is just good software practice. Either improve the doc or fix the tool.

@cpenner461
Copy link

+1 on comment from @gthb, would be convenient to have that info bubbled up to the console.

@swiftarrow
Copy link

+1 for this. I'm a beginner, following the Tango with Dango web book, and used pythonbrew in a virtual machine to install 2.7.5. I've spent the last two days trying to figure out why sqlite3 didn't work, and came here to file a bug, that these packages should be required before python runs:

libbz2-dev libdb5.1-dev libexpat1-dev libncurses5-dev libreadline6-dev libssl-dev libsqlite3-dev libxml2-dev libxslt-dev 

Now I see that you're not going to fix it? I think that Pythonbrew is awesome, especially for beginners like me, but hiding this requirement and not echoing the results of make back to the console (or even to the log file) have very frustrating results.

For beginners like me, please let the pythonbrew install script AT LEAST warn users that these packages should be installed for full functionality.

Thanks!

PS for other django beginners following the Tango with Django, please see Adorno; it's a script that will help you set up a virtual machine with virtual environments and python all set up to follow the tango with Django web series:
https://github.com/swiftarrow/Adorno

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants