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

Non-python dependencies #34

Closed
bbaassssiiee opened this issue Nov 23, 2016 · 8 comments
Closed

Non-python dependencies #34

bbaassssiiee opened this issue Nov 23, 2016 · 8 comments

Comments

@bbaassssiiee
Copy link

Does the pipfile manage the required C libraries and platform specific packages too?

@FFX01
Copy link

FFX01 commented Nov 24, 2016

@bbaassssiiee
I couldn't find any information in the README saying yes or no on that. I think it would be interesting to consider adding a system dependencies section to the pipfile at some point. For instance, if you're running a web application that converts mp4s to webm format it would be nice to specify ffmpeg as a dependency. Though, I'm not sure if the installation of system dependencies could be, or even should be, automatic. There's no good way for pip to know if you use pacman or apt for package management. What if a specific system library is not available from your package repository?

If we could specify system dependencies in a pipfile, I think it would be a good idea to simply have pip warn the developer about required system dependencies and maybe give them a link to find more information.

@luzfcb
Copy link

luzfcb commented Nov 24, 2016

For beginners, installing python packages with dependencies in C has always been a nightmare, because they do not know what to do when errors appear.
In cookiecutter-django, the simplest way that I found to make things a bit easier for beginners was to create a, for example, "requiremenst.apt" file (This helps me document which build dependencies I needed.)
, and a simple helper script to parse .apt file and install the packages on Ubuntu.

System dependencies also have the problem of lack of standardization between operating system versions and between operating systems.

Probably to make a Hitchtest installation a bit simpler, @crdoconnor create the unixpackage .

UnixPackage is a UNIX independent way of installing packages. Specify the Ubuntu package name (e.g. libpq-dev), and it will install the equivalent on your system (e.g. postgresql-libs on Arch).

Package names and their equivalents are downloaded from https://github.com/unixpackage/unixpackage.github.io via the generated website:

Example : http://unixpackage.github.io/libtiff-dev.json

These files are cached in the ~/.unixpackage directory.

@bbaassssiiee
Copy link
Author

bbaassssiiee commented Nov 24, 2016

It sounds like pipfile is yet another package manager for python, I mean setuptools, pip, easy_install, do we need more? Yes, we do, because of the auxiliary packages, but that is what Conda/Anaconda was designed for. And that is mature already.
https://docs.continuum.io/anaconda/
http://conda.pydata.org/docs/index.html

@dpausp
Copy link

dpausp commented Nov 25, 2016

@bbaassssiiee I use the Nix Package Manager https://nixos.org/nix/ for Python and non-Python dependencies. Works great.

@kennethreitz
Copy link
Contributor

This project has the same scope as requirements.txt.

@halfdanrump
Copy link

It would be nice to see pipenv address the issue of third-party packages though. It's a very common issue that @bbaassssiiee ran into.

@LeonarddeR
Copy link

Has there been any progress on this subject?

Personally, I'd really love an option that helps me using non-Python git repositories from pipfiles.

@bbaassssiiee
Copy link
Author

bbaassssiiee commented May 24, 2019

Use conda.io

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

7 participants