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

pip sucks #388

Closed
tleef opened this issue May 8, 2018 · 7 comments
Closed

pip sucks #388

tleef opened this issue May 8, 2018 · 7 comments

Comments

@tleef
Copy link

tleef commented May 8, 2018

Seriously, I have never had anything but problems with pip.

The issue, imo, is python has too many ways of doing things which aren't very compatible. For example, you have issues out of the gate with 2.7 vs 3. Did people install python with Homebew (mac)? Are they using the default version of python included with the machine? Are they using PyEnv or something else? There are so many environmental factors to consider and troubleshoot. At the end of the day, this leads to frustration for users and wasted cycles on something that should be simple.

To be fair, maybe I'm not using pip in the best way. I'm not really a python dev and I don't keep up with python best practices all that much but at the same time, I shouldn't need to just to install a cli tool.

I think the length of the update README section covering installing/updating/troubleshooting with pip speaks for itself.

Solution, stick to npm for distribution.

@jfuss
Copy link
Contributor

jfuss commented May 8, 2018

@tleef Let's try to keep this positive. I understand the frustration and we will be working towards making the experience easier as we progress.

Closing this issue as it is not actionable.

@jfuss jfuss closed this as completed May 8, 2018
@sanathkr
Copy link
Contributor

sanathkr commented May 8, 2018

Or an alternative solution is to build installers like .msi or .dmg that can install the entire tool for you without needing PIP. This is an option we are exploring for the subsequent releases so you don’t need pip.

But hey, I hear your about PIP dude. They have done a lot of improvements lately and a lot of cool advancements coming in Future.

@tleef
Copy link
Author

tleef commented May 9, 2018

@jfuss Rereading my issue, I can see how it comes off as aggressive/negative. That's not the way it sounded in my head and wasn't my intension. Admittedly, I could have used a better title.

I realize that this project is relatively young and is going to continue to improve. All I was trying to say is that I don't think pip is the right solution for distribution with some reasons why. At the same time I know this project aims at pleasing a wide audience which is always difficult. So, if you choose to continue to use pip, more power to you but I think its a mistake and I also think its actionable. In fact, think now is the best time to act if you are going to change.

I know distribution isn't the most sexy part of maintaining an open source project but I think its one of the most important parts. Looking at it another way, its a shame when you pour your time and effort into a project that you are passionate about and you know will help lots of people just to have the users complain because they couldn't get it installed.

For the record, I like the idea of .msi or .dmg

@jfuss
Copy link
Contributor

jfuss commented May 9, 2018

@tleef We totally get it! The reason I marked un-actionable was due to the tone of the issue not that we do not want to make this simpler and invest here. If you are willing to update the title and parts of the description, I would be more than willing to re-open the issue and have a deeper discussion with you and the rest of the community, or even a new issue because I do feel this is am important thing we should be addressing.

"I know distribution isn't the most sexy part of maintaining an open source project but I think its one of the most important parts." Absolutely!!! It is the entry point to the CLI. If customers have trouble trying to install, then its completely possible they will go find some other tool to use instead. The team wants to make sure all platforms can install the CLI and make this as painless as possible. We landed on PIP initially because it was the easiest thing to support at the start and the supported way for Python. We quickly realize through testing and discussing with others that only supporting PIP might not the right long term thing for our customers. Pip is still evolving and things like PipEnv are focused on solving the distribution problems in the Python community.

In the previous version, we still had issues with customers installing the CLI through NPM. While I am only going off of issues I have seen (I don't know much about NPM myself), there has still been a fair amount of trouble getting the CLI installed. So I don't think this is as clear as one way is better than the other.

Given the CLI is in Python, I don't see us moving away from PIP but do see us finding and allowing other ways for customers to install the CLI.

@kay-is
Copy link

kay-is commented May 9, 2018

Had to fall back to the npm version today, because the sam command wasn't found after the pip installation on windows 7.

@jfuss
Copy link
Contributor

jfuss commented May 9, 2018

@kay-is Make sure where sam in installed is in your PATH. When using the '--user', it can be placed in a path that is not in your $PATH. We are working on updating the README with these instructions.

  1. Find your path Python User Base path (where Python --user will install packages/scripts): python -m site --user-base
  2. Add that path under your PATH variable

You can also try without --user pip install aws-sam-cli

@blexo
Copy link

blexo commented May 26, 2018

May I ask why you're not using the npm installer? I am just trying to get going on an alexa skill - got no probs uploading the zip directly to the lambda tool but want to automate and I've wasted an hour messing with pip... super annoying. It does not seem to like mac at all.

qingchm pushed a commit to qingchm/aws-sam-cli that referenced this issue Sep 17, 2021
* Added ManifestHash Utility Class

* Added Unit Tests

* Added Unit Tests

* Refactored to DependencyHashGenerator
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

5 participants