CAChemE / pyomo-recipes

Useful conda recipes for Pyomo and dependencies.
MIT License
6 stars 2 forks source link

Updating Pyomo and adding metapackages #8

Closed whart222 closed 8 years ago

whart222 commented 8 years ago

This pull request creates a pyomo.solvers metapackage and it changes pyomo.extras so it is a metapackage.

Metapackages are nice in that they don't require the use of the Python package pyomo.extras. In practice, we've found that pyomo.extras can be fragile, and for conda metapackages serve the same functionality.

I revised the README file to suggest installation with pyomo.solvers instead of the individual solver libraries.

whart222 commented 8 years ago

It looks like appdirs needs to be added to get the check to pass. I'm not sure how to update the pull request to do that.

whart222 commented 8 years ago

I added additional changes to include the appdirs package, and I resolved build issues with the latest Pyomo release.

astrojuanlu commented 8 years ago

Hello William, thanks a lot for these pull requests and bug reports, we're glad you're interested in improving the conda recipes.

Regarding this one specifically, I totally agree what using metapackages would be a nice solution here. However I have a couple of concerns:

There were other unrelated failures corresponding to the rest of the commits but we'd better address the problems one by one.

On the other hand, these recipes were put together on tight time constraints and the OS X & Linux versions are in another branch, which is less than ideal. When we polish the issues you pointed out we should definitely take a look on conda-forge (as noted in #7) which provides a nice way to test conda recipes on all operative systems.

whart222 commented 8 years ago

Can you delete PR#11? This PR supercedes it. I was learning how to submit multiple PRs yesterday...

I've just commited a change to resolve the issue you note.

astrojuanlu commented 8 years ago

Fair enough, I already closed the old one. Let's see what does AppVeyor say now (hopefully within some minutes at most)

whart222 commented 8 years ago

It's not obvious to me why this error occurs. The error relates to a glpk build, which I didn't modify.

astrojuanlu commented 8 years ago

I don't understand either, but maybe it's a good time to drop our GLPK recipe - it has long been superseded by the one found in conda-recipes and conda-forge. I will try to use one of those and make the changes to master so you can rebase this PR.

astrojuanlu commented 8 years ago

Steps:

astrojuanlu commented 8 years ago

Are you then not working anymore on this PR in favor of #7?

whart222 commented 8 years ago

No, I still want to finalize this fix. Working on conda-forge is a longer-term thing. As you noted, we'll have to think differently about the solvers.

I looked at rebasing my fork last night, but I couldn't figure out how to rebase my fork to the upstream repository. Do you have a suggestion for how to do that? (Sorry, I'm still learning git.)

--Bill

On Wed, Apr 13, 2016 at 2:37 AM, Juan Luis Cano Rodríguez < notifications@github.com> wrote:

Are you then not working anymore on this PR in favor of #7 https://github.com/CAChemE/pyomo-recipes/issues/7?

— You are receiving this because you authored the thread. Reply to this email directly or view it on GitHub https://github.com/CAChemE/pyomo-recipes/pull/8#issuecomment-209254264

astrojuanlu commented 8 years ago

Oops, sorry! I should have explained it in the first place, it's my muscular memory :)

I imagine that you locally cloned your fork (git clone https://github.com/Pyomo/pyomo-conda.git), so for git your fork is origin. You have to add another remote which represents this (CAChemE) repository, called upstream:

git remote add upstream https://github.com/CAChemE/pyomo-recipes.git

After that, you have to make git aware of the upstream changes using git fetch:

git fetch upstream

and then rebase your local master branch against the upstream master branch:

git checkout master
git rebase upstream/master

Finally, as you are rewriting history you will have to force a push:

git push origin master --force

Don't hesitate to ask for guidance if this does not work.

whart222 commented 8 years ago

This makes sense. I'll give it a try tonight.

On Wed, Apr 13, 2016 at 9:53 AM, Juan Luis Cano Rodríguez < notifications@github.com> wrote:

Oops, sorry! I should have explained it in the first place, it's my muscular memory :)

I imagine that you locally cloned your fork (git clone https://github.com/Pyomo/pyomo-conda.git), so for git your fork is origin. You have to add another remote which represents this (CAChemE) repository, called upstream:

git remote add upstream https://github.com/CAChemE/pyomo-recipes.git

After that, you have to make git aware of the upstream changes using git fetch:

git fetch upstream

and then rebase your local master branch against the upstream master branch:

git checkout master git rebase upstream/master

Finally, as you are rewriting history you will have to force a push:

git push origin master --force

Don't hesitate to ask for guidance if this does not work.

— You are receiving this because you authored the thread. Reply to this email directly or view it on GitHub https://github.com/CAChemE/pyomo-recipes/pull/8#issuecomment-209451314

whart222 commented 8 years ago

FYI, I followed the instructions here to merge from upstream, which avoided the need to rebase the repos:

https://help.github.com/articles/syncing-a-fork/

whart222 commented 8 years ago

It isn't obvious what is failing.

whart222 commented 8 years ago

The failure is in the final upload to anaconda, which I think we should avoid on a branch anyway. Hence, I think this branch should be accepted.

astrojuanlu commented 8 years ago

You are right, I should have disabled the upload for pull requests. I am merging, thank you very much for your contribution!

P.S.: And yes, rebasing or merging is the same for this purpose. The former allows for a cleaner history graph but is messier.