Skip to content

Allow develop mode installation #3986

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

Closed
cjw296 opened this issue Apr 20, 2018 · 10 comments
Closed

Allow develop mode installation #3986

cjw296 opened this issue Apr 20, 2018 · 10 comments
Labels
Feature New feature Needed: design decision A core team decision is required

Comments

@cjw296
Copy link

cjw296 commented Apr 20, 2018

Details

Here's the source control diff:

simplistix/testfixtures@2be6ef2

This resulted in https://readthedocs.org/projects/testfixtures/builds/7074328/

Expected Result

Build successfully as before.

Actual Result

/home/docs/checkouts/readthedocs.org/user_builds/testfixtures/envs/latest/lib/python3.5/site-packages/pkginfo/develop.py:45: UserWarning: No PKG-INFO found for path: /home/docs/checkouts/readthedocs.org/user_builds/testfixtures/checkouts/latest
  warnings.warn('No PKG-INFO found for path: %s' % self.path)
@stsewd stsewd added the Support Support question label Apr 20, 2018
@cjw296
Copy link
Author

cjw296 commented Apr 20, 2018

The only difference I can spot is that my requirements.txt installs using -e ., whereas python. pip_install appears to only do a pip install .

@stsewd
Copy link
Member

stsewd commented Apr 21, 2018

I can see in your latest unsuccessfully build that you have rtd configured to look for your requirements file, but it doesn't exists on that commit.

@stsewd
Copy link
Member

stsewd commented Apr 21, 2018

Ok, about the original issue reported, seems like an error on your conf.py file https://github.com/Simplistix/testfixtures/blob/a5d96032ed148d0b478bcc47834733e3e1f5ceb9/docs/conf.py#L9

I think there is some difference when installing your project with and without the yaml file: it installs your project twice, with the requirements file and with the setup.py installation.

@cjw296
Copy link
Author

cjw296 commented Apr 21, 2018

@stsewd - there's a few things going on, and it's why I was quite specific about build numbers:

  1. Whenever you change settings, it triggers a new build. That's frustrating when you're changing settings so that the next commit pushed will work with them. I see no way to change settings in such a way that this doesn't cause breakage. I believe this was the cause of the following build failures:

https://readthedocs.org/projects/testfixtures/builds/7074222/
https://readthedocs.org/projects/testfixtures/builds/7074449/

  1. I believe there is a bug lurking where if a requirements file name is specified in the project settings, even if the 'use requirements file' checkbox is unchecked, rtd attempts to look for the file. I believe that is the cause of the following failures:

https://readthedocs.org/projects/testfixtures/builds/7074249/
https://readthedocs.org/projects/testfixtures/builds/7074270/

  1. There are currently intermittent build failures occurring, this seems to occur more frequently when more than one build is kicked off on a project. See Build failed, said to report, so I am... #3985, which was the cause of this failure:

https://readthedocs.org/projects/testfixtures/builds/7074250/

  1. That leaves the issue I've reported above, which is the cause of this failure:

https://readthedocs.org/projects/testfixtures/builds/7074328/

@cjw296
Copy link
Author

cjw296 commented Apr 21, 2018

@stsewd - regarding your comment, pkginfo.Develop(os.path.join(os.path.dirname(__file__), '..')) has worked in conf.py consistently across developer builds, travis builds, conda environments, etc, for quite a few years now. Please see my comment about the only difference I could spot.

@stsewd
Copy link
Member

stsewd commented Apr 21, 2018

@cjw296 please see https://pythonhosted.org/pkginfo/distributions.html#introspecting-development-checkouts pkinfo.Develop only works on a develop mode installation, which rtd doesn't take care when python.pip_install is true, I think you can still use your old requirements file with the yaml file keeping your desire behavior with the requirement_file option https://docs.readthedocs.io/en/latest/yaml-config.html#requirements-file

@cjw296
Copy link
Author

cjw296 commented Apr 21, 2018

Right, hence my comment. I guess this becomes a feature request to add a pip_develop or pip_editable alternative to pip_install.

@stsewd
Copy link
Member

stsewd commented Apr 21, 2018

Please change the issue title or create a new issue with the feature request (I think this is better, so we keep this issue as context)

@stsewd stsewd changed the title pkginfo use in conf.py doesn't work after switching to .readthedocs.yml Allow develop mode installation May 15, 2018
@stsewd
Copy link
Member

stsewd commented May 15, 2018

I'm changing the title and making this a feature request

@stsewd stsewd added Feature New feature Needed: design decision A core team decision is required and removed Support Support question labels May 15, 2018
@stsewd
Copy link
Member

stsewd commented Sep 4, 2018

Ok, you should be able to install your project by putting this in your requirements file -e . and making pip_install = false instead of making a new configuration for the yaml file. We want to cover only common cases there, and there is a way of solving the problem, so closing.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Feature New feature Needed: design decision A core team decision is required
Projects
None yet
Development

No branches or pull requests

2 participants