You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Don't know if this is exactly a "bug", since I don't know if this problem can happen in another setups. I'm trying to know if it's possible to have some kind of documentation to avoid the problem I had (and forget me if it's out of the scope of the project, at least will be indexed by search engines and more people with similar problems will benefit).
In the past, to avoid dependency conflicts with python packages in my system python, I used to install a new python in my machine and all development utilities (like flake8, mr.bob and such) were pip installed there. Then, I added this python bin folder to PATH, so the utilities would be available.
It's a bit overkill but it worked and avoided dependency conflicts.
Nowadays, I try to use pipsi to acomplish this feature of installing python utilities, and installed plonecli this way. So far, so good.
I started creating my templates but having lots of problems: what was supposed to be created based on what was in the source code in github wasn't being created in my machine. I ran plonecli --versions and it was with correct versions:
plonecli : 1.1
bobtemplates.plone: 4.0.4
I've decided to dig a little in the source code and realized that, since plonecli uses mr.bob as a subprocess call, it was using that mr.bob installation, which had a bobtemplates.plone 3.5.x installed. plonecli --versionswas checking the installed bobtemplates.plone in plonecli pipsi virtualenv instead of the bobtemplates.plone used in the mr.bob used in the subprocess call.
So, I removed the old installation of mr.bob. Then, I got the traceback:
Traceback (most recent call last):
File "/home/user/.local/bin/plonecli", line 11, in <module>
sys.exit(cli())
File "/home/user/.local/venvs/plonecli/local/lib/python2.7/site-packages/click/core.py", line 764, in __call__
return self.main(*args, **kwargs)
File "/home/user/.local/venvs/plonecli/local/lib/python2.7/site-packages/click/core.py", line 717, in main
rv = self.invoke(ctx)
File "/home/user/.local/venvs/plonecli/local/lib/python2.7/site-packages/click/core.py", line 1163, in invoke
rv.append(sub_ctx.command.invoke(sub_ctx))
File "/home/user/.local/venvs/plonecli/local/lib/python2.7/site-packages/click/core.py", line 956, in invoke
return ctx.invoke(self.callback, **ctx.params)
File "/home/user/.local/venvs/plonecli/local/lib/python2.7/site-packages/click/core.py", line 555, in invoke
return callback(*args, **kwargs)
File "/home/user/.local/venvs/plonecli/local/lib/python2.7/site-packages/click/decorators.py", line 17, in new_func
return f(get_current_context(), *args, **kwargs)
File "/home/user/.local/venvs/plonecli/local/lib/python2.7/site-packages/plonecli/cli.py", line 72, in create
subprocess.call(['mrbob', bobtemplate, '-O', name])
File "/usr/lib/python2.7/subprocess.py", line 172, in call
return Popen(*popenargs, **kwargs).wait()
File "/usr/lib/python2.7/subprocess.py", line 394, in __init__
errread, errwrite)
File "/usr/lib/python2.7/subprocess.py", line 1047, in _execute_child
raise child_exception
OSError: [Errno 2] No such file or directory
But it is the intended behavior, since I'm using pipsi instead of installing like it's said in the docs and I need to do export PATH=$PATH:$HOME/.local/venvs/plonecli/bin before calling plonecli. This doesn't happen when doing the pip installation in the docs because mr.bob would be in the PATH.
But nevertheless I was thinking if a warning "check for mr.bob installation in your installation, since plonecli does a shell mr.bob call using subprocess and if you have it somewhere in your PATH you may have unintended results" would be overkill.
plonecli : 1.1
bobtemplates.plone: 4.0.4
Description
Don't know if this is exactly a "bug", since I don't know if this problem can happen in another setups. I'm trying to know if it's possible to have some kind of documentation to avoid the problem I had (and forget me if it's out of the scope of the project, at least will be indexed by search engines and more people with similar problems will benefit).
In the past, to avoid dependency conflicts with python packages in my system python, I used to install a new python in my machine and all development utilities (like flake8, mr.bob and such) were pip installed there. Then, I added this python bin folder to
PATH
, so the utilities would be available.It's a bit overkill but it worked and avoided dependency conflicts.
Nowadays, I try to use pipsi to acomplish this feature of installing python utilities, and installed plonecli this way. So far, so good.
I started creating my templates but having lots of problems: what was supposed to be created based on what was in the source code in github wasn't being created in my machine. I ran
plonecli --versions
and it was with correct versions:I've decided to dig a little in the source code and realized that, since plonecli uses mr.bob as a subprocess call, it was using that mr.bob installation, which had a bobtemplates.plone 3.5.x installed.
plonecli --versions
was checking the installed bobtemplates.plone in plonecli pipsi virtualenv instead of the bobtemplates.plone used in the mr.bob used in the subprocess call.So, I removed the old installation of mr.bob. Then, I got the traceback:
But it is the intended behavior, since I'm using
pipsi
instead of installing like it's said in the docs and I need to doexport PATH=$PATH:$HOME/.local/venvs/plonecli/bin
before calling plonecli. This doesn't happen when doing the pip installation in the docs because mr.bob would be in thePATH
.But nevertheless I was thinking if a warning "check for mr.bob installation in your installation, since plonecli does a shell mr.bob call using subprocess and if you have it somewhere in your PATH you may have unintended results" would be overkill.
To use an older versions of plonecli and mrbob, I used
pipenv
(pipenv install --skip-lock -r requirements.txt
) and a requirements.txt withplonecli==0.2.0
(https://github.com/plone/plonecli/blob/0.2.0/setup.py#L28) andbobtemplates.plone==3.4.2
(https://github.com/plone/bobtemplates.plone/blob/master/CHANGES.rst#342-2018-08-13).The text was updated successfully, but these errors were encountered: