clonesatchmo.py does not work with virtualenv

Issue #1363 resolved
tgp
created an issue

I'm running django within a virtualenv, i.e. instead of saying //python .../clonesatchmo.py//, I say //./pyenv/bin/python .../clonesatchmo.py// or even //./pyenv/bin/clonesatchmo.py//. Now the problem is that within this script, there are a number of calls like //os.system('python ...')//, which use my system's Python installation and therefore lead to errors like "Unknown command: 'satchmo_copy_static'", because satchmo is not installed there, but only in the virtualenv.

I got around this py saying //export PATH=.../pyenv/bin:$PATH//, but still I guess there should be a better way to fix this; and if it's just adding a parameter //--python-executable=...// to the clonesatchmo script.

Comments (7)

  1. Hynek Cernoch

    Usual way of using virtualenv is

    $ source bin/activate

    then you need not to write "./pyenv/bin/python" but only "python". See http://www.virtualenv.org/en/latest/index.html#activate-script

    There are other management commands in Django itself (e.g. "dbshell") which probably would not work without "source bin/activate" or setting PATH. Try it.

    I think, this issue is invalid. What you mean?

    P. S.: OK. I have in a drawer for long time other solution of clonesatchmo beeing developed without os.system call by the way. That's another small reason to continue with development. :-)

  2. Hynek Cernoch

    OK. I probably tried the same user mistake also, when I was a newcomer to virtualenv. It must be unfriendly for such initial command like clonesatchmo. Django can fail on less usual commands only like dbshell or compilemessages.

  3. Log in to comment