-
Notifications
You must be signed in to change notification settings - Fork 75
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
Verify Wheel #694
Verify Wheel #694
Conversation
This is work in progress. This involved:
That is as far as I have gotten so far. The next step is to build it and create the wheel like this for all platforms and see if everything is there in the wheel and that it can be installed using pip directly from the wheel. Then I need to deal with the linux binary distribution thing. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This looks good, thanks for fixing it! Merge when CI passes.
So the requirements.txt and the real setup.py are now both at the top of the repository.
👍 I think it's good for the (py) packaging to have the standard layout.
Then I need to deal with the linux binary distribution thing.
yep, we'll have to think that out. Is it an issue only on Linux, so OSX,Win wheels would/do already work fine?
@@ -1,33 +1,23 @@ | |||
|
|||
## Layout of directories: | |||
``` | |||
Repository | |||
bindings | |||
REPO_DIR external -- cmake scripts to download/build dependancies |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
nit, looks like your editor adds weird line ends
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@dkeeney please fix these
No, I have lots of work to do on this before it is ready to merge. |
Working on Windows....
It says it installs
I have no idea what might be causing it. |
Hmmm, I tried to install another unrelated package and got the same error. so maybe its something to do with the way I have python installed....and nothing to do with the wheel. |
hey, we could probably test this as a part of the CI steps! The wheel is there, we can just uninstall the source-built library, and try if installing from |
for each platform, and run tests
@dkeeney I added the CI check that the wheel is installable |
After re-installing Python 3.7 and removing all other Pythons, I still get this error about conflicts.
It gave me that same error as before. --ignoring that for now. Anyway, the point is....this still does not work yet. |
Also, I cannot figure out how to run the .py unit tests without the full repository being present. |
@breznak you added
I verified that the wheel does exists. |
Traced down the Conflict error. It is a corruption in my site-packages directory caused by an earlier wheel install failure for which pip did not clean up correctly. Anyway, that one we can safely ignore. |
I added '--force' so that it will also verify that the wheel has the right requirements.txt and that they all can be installed. That does seem to work here on windows if I expand the '*' before making the call. |
If I change this to |
glad you had it figured. For these reasons, I always use python virtualenv ( |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Glad this works with the new changes!
@@ -93,10 +93,12 @@ jobs: | |||
path: build/Release/distr/dist | |||
|
|||
- name: Test python package is working | |||
shell: bash |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
nice, this forces windows to act compatible with unixes, right? (is it using the WSL?)
oh, ok, this is an unrelated err. I've temporarily allowed some steps (that should be run only on tag/release) to run on each PR for debugging. But the creation of the whl is still only on tag. |
for debugging this PR All FIXME should be addressed before merging
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is working now for all platforms 👍
Don't merge until the conditional filters for tags are re-enabled.
- I'll try to add the manylinux building job in this PR
why is |
It occurred to me in my sleep last night. The default for the setup.py setup() function is to generate an egg when we use the keyword I wanted to try this out this morning. |
Oh, that should be |
Well.... it does not like --user --force, so the overall build command is now The CI builds don't need the local egg install if we use the wheel to install. |
My schedule: |
wow, nice #️⃣ do you dream of programming and electric sheep? :)
I'll try to use this. |
Uploading linux wheels to PYPI works! |
Everything seems to work! Merging to test PYPI upload with a new tag |
The intent of the PR is to verify that the wheel package contains the right things.
For #19