question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Install and packaging improvements todo list

See original GitHub issue

After the latest round of install pain and the recent thread “stop supporting 'setup.py install'; start requiring 'pip install .' instead”, it’s time to start fixing a few things. Here’s a list (ticked items are addressed in gh-6895, which is not merged yet):

  • unconditionally import setuptools (will fix gh-6551)
  • error on python setup.py install. Provide a switch --force for python setup.py install. Mailing list discussion here not going to fly for now, see this email about issues
  • update all install docs
  • make it even clearer in big bold letters in the docs that scientific distributions or things like Homebrew are preferred over building from source or even pip.
  • error on python setup.py upload (saying "use twine upload -s instead")
  • error on python setup.py upload_docs
  • error on python setup.py easy_install
  • error on python setup.py test (saying "use python runtests.py instead")
  • remove setupegg.py
  • error on python setup.py clean (saying "use git clean -xdf (or -Xdf ...) instead")
  • change python setup.py --help to first show numpy-specific stuff before setuptools help info
  • figure out a better way to test the various methods of installing numpy
    • install from sdist
    • install via bdist_wheel
    • easy_install (is still triggered via setup_requires). Note, direct use of easy_install by users is not supported - meaning it may work but if it doesn’t then don’t expect support (use pip instead). This can be tested by installing a dummy package that uses setup_requires='numpy' on TravisCI.
    • the recommended pip install .
    • in-place builds (pip install -e, build_ext, develop)
    • builds with --config xxx build followed by pip install .
    • with and without virtualenv (can make a difference)
    • what else?
  • when pip upgrade is released (should be soon, maybe under a different name, see https://github.com/pypa/pip/pull/3194 and https://github.com/pypa/pip/issues/59), officially change our mind and recommend the use of install_requires to packages depending on numpy.
  • figure out what to do about setup_requires (pip won’t support that any time soon)
  • fix up the metadata. now sdist overwrites “author” with “maintainer”. Consider using setup.cfg or a new static metadata format that may materialize soon.
  • do a check on version numbering correctness (see [https://github.com/numpy/numpy/issues/6431#issuecomment-147112731) and make np.lib.NumpyVersion accessible in numpy.version
  • figure out what to do with bdist_egg, bdist_rpm, bdist_mpkg, etc. RPM is probably a valid format to generate, the rest we may want to put behind a --force flag at least.
  • do we need to provide a conda build recipe? --> EDIT: no, leave this to conda-forge

For interested people needing a bit of context, the Python Packaging User Guide is the authoritative doc about Python packaging in general.

Issue Analytics

  • State:closed
  • Created 8 years ago
  • Comments:16 (16 by maintainers)

github_iconTop GitHub Comments

1reaction
mattipcommented, Apr 16, 2019

We still support easy_install (and use it in doc/Makefile) even though it has been deprecated. Should we remove support for it?

0reactions
rgommerscommented, Feb 12, 2021

This is all basically done, let’s close this.

Read more comments on GitHub >

github_iconTop Results From Across the Web

57 Best To-do List Apps of 2023 for Personal Task Management
This guide will highlight the Best To-Do List Apps for personal task management in 2023. Each new day, a list of tasks awaits...
Read more >
To-Do List - GitLab Docs
Your To-Do List is a chronological list of items waiting for your input. The items are known as to-do items. You can use...
Read more >
Packaging improvements that could be funded - GitHub
Packaging improvements that could be funded. This repository holds FUNDABLES.md: the list of tasks that the Packaging Working Group is seeking funding for....
Read more >
ToDoList 8.1.14 - Chocolatey Software
ToDoList is software in the category of Task Management, Project Management, Productivity, “Getting Things Done” (GTD), Scheduling, and Collaboration.
Read more >
Install Todoist: To-Do List & Tasks on Linux | Snap Store
Prioritize your tasks with priority levels. Track your progress with personalized productivity trends. Integrate your tools like Gmail, Google ...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found