sashahart / vex

Run a command in the named virtualenv.
MIT License
371 stars 26 forks source link

--path doesn't seem to be working #27

Closed techtonik closed 9 years ago

techtonik commented 9 years ago

I want to execute blockdiag package in virtualenv called merge in current directory, which does not exist. And vex just seems to execute the command without any virtualenv:

vex --path merge python -m blockdiag

I am on Windows. Is there a way to see what vex is doing? Some kind of -v --verbose flag? I guess I am running vex 0.0.15

sashahart commented 9 years ago

Do you just want a check for the existence of the directory and failing with a nonzero exit status, or what?

The question "is this directory a virtualenv" is not as easy to resolve as it might first appear.

sashahart commented 9 years ago

It seems that your complaint isn't really about --path not working.

techtonik commented 9 years ago

The --path behavior is not intuitive for me. The commit you're seeing fixes the issue, but it depends on pull request #26 to be merged.

techtonik commented 9 years ago

I want to create virtualenv relative to current dir - the same way virtualenv does it.

sashahart commented 9 years ago

--version is in edcd7bd1c1cf05227e

techtonik commented 9 years ago

:+1: still need #26 to make it truly usable.

sashahart commented 9 years ago

If you want to further discuss python -m, let's do that over on that other issue for the sake of organization, otherwise I end up with topic foo really mainly discussed on the issue for bar and it gets hard to find things.

I'm not going to take your --path patch for boring reasons, the most important of which is that I don't yet understand exactly what behavior you want to see and why (but also since this is a small enough issue, it will just take more time to coordinate and bikeshed the details than just to write whatever it is you need).

My interpretation of

vex --path merge python -m blockdiag

Is that you are trying to run 'python -m blockdiag' in a virtualenv located at ./merge.

Therefore, the problem I can see is that it would be nicer to complain and stop when ./merge doesn't even exist, because probably the user just isn't aware that ./merge does not exist and the likely user intent is 'don't run this unless it is run in this virtualenv'.

Will that be enough?

sashahart commented 9 years ago

anyway the check is in 1d5b6c804

Let me know if that is enough to close out this issue, and feel free to create other issues for things which aren't strictly the same issue

techtonik commented 9 years ago

I'm not going to take your --path patch for boring reasons

Aren't those by any chance about tough crediting policy decisions? =)

With my patch it already complains correctly about missing path(s):

>py -m vex --path xccx cmd
Error: virtualenvs directory 'C:\\Users\\user\\.virtualenvs' not found. Create it or use vex --make to get started.

And with --make option I can create it in current dir:

>py -m vex -m --path xccx cmd
sashahart commented 9 years ago

I have no problem giving people credit for actual improvements, when they have something substantive to offer and are not being adversarial. But this is a small project which doesn't need any more major features; and credit isn't the word I'd use in this particular case.

Considering you as a user of vex, I was trying to be polite and technical rather than flaming you for the many variances between your patches and the way I have intentionally structured the existing code. But frankly, I think the patches you are submitting are messy and I don't have time to walk you through cleaning them up. I didn't want to say that, though; what's the point? but since you have decided to throw around hostile insinuations...

The patches you are proposing are nothing special, and only address your own preferences in bikeshed colors, where these preferences are either not my preferences, or are actively interfering with my goals for the project. Augmenting this, you have been pretty rude; you say that things are not working at all when in fact they are working, but just don't respect your bikeshed preferences; you describe the existing utility as not usable unless it's the way you personally want, and you lecture me about what is proper and correct when really the object of discussion is what you personally want. And I see no evidence that you have even considered any of the reasons I've provided, even as far as etiquette would suggest. It's apparently your way or the highway.

Yet I don't see that your judgement or your code is so especially great to justify this. So as far as I can see, your proposal boils down to this: accept my patches which serve me but which you don't want, or else I'll insult you and fork your project. Not much upside for me in this, and I'm not interested in letting the development of my personal projects be steered by blackmail from one idiosyncratic user.

I want to help my users, but this is on a voluntary, altruistic basis. A project's being on Github doesn't entitle you to anything.

techtonik commented 9 years ago

object of discussion is what you personally want

Exactly. I am a user. I want to use your software and it doesn't fit my needs. What I am trying to tell you that users see your software from a different angle than you. It is not a private repository, right? So you put this soft here for a reason. Do you want to target your users or just showcase your vision? If you want the project to be popular (some would say "successful"), then the best way would be looking into what your users want, not imaging it. Among bugs in this repo 7% is a request for a functionality that I need. And you say that 7% of your users are dumb, don't know what we want and need to patch PATH. Who is rude here?

accept my patches which serve me but which you don't want, or else I'll insult you and fork your project

What's wrong with saying thanks and forking? Would you accept that from "one idiosyncratic user"?

A project's being on Github doesn't entitle you to anything.

Thanks, cap. By this point you should be aware that we have different communication interfaces. Is that also rude to you?

sashahart commented 9 years ago

You are someone who is apparently primarily concerned with getting your name on contributor lists by harassing people who started projects to accept messy patches that enforce your personal taste in bikesheds.

I never said you are dumb. But you are not really representing anything except your own interests.

Please stay off my issues.