Hi,
I could reproduce the issue on another Ubuntu Gnome machine and also on the
plain Ubuntu VirtualBox image from osboxes.org.
Furthermore, I noticed that I don't even need to call the exported
function.
As long as I pass any function via --env in parallel it will break.
So here's an even shorter example to reproduce it in the virtualbox image:
Image: 64bit Ubuntu Yakkety Yak
http://www.osboxes.org/ubuntu/
sudo apt install python-setuptools
(wget -O - pi.dk/3 || curl pi.dk/3/) | sudo bash
function fun {
echo $1
}
export -f fun
## Works fine
parallel 'python -c "import setuptools"' ::: 2
## Breaks
parallel --env fun 'python -c "import setuptools"' ::: 2
I tried calling uname -p also from inside the python code and it returns
'x86_64' correctly in both cases.
On 23.12.2016 01:24, Ole Tange wrote:
On Thu, Dec 22, 2016 at 5:28 PM, Benjamin Leutner
<[email protected]> wrote:
Here's the modified example:
function FUN {
echo -e "\n----- Try number: ${1} -----"
echo "Host: $(hostname), Level: $SHLVL"
python -c "
import setuptools
print 'import succesful'"
}
export -f FUN
# without env
parallel 'FUN {}' ::: 1
# with env for function
parallel --env FUN 'FUN {}' ::: 2
# with env for everything
parallel --env _ 'FUN {}' ::: 3
All work for me. So this is a local problem on your machine.
Therefore see if you can reproduce the error on one of these
VirtualBox images:
http://sourceforge.net/projects/virtualboximage/files/
http://www.osboxes.org/virtualbox-images/
1) is fine, 2) and 3) give me :
Traceback (most recent call last):
File "<string>", line 2, in <module>
File "/usr/lib/python2.7/dist-packages/setuptools/__init__.py", line 14,
in <module>
from setuptools.extension import Extension
File "/usr/lib/python2.7/dist-packages/setuptools/extension.py", line 10,
in <module>
from .dist import _get_unpatched
File "/usr/lib/python2.7/dist-packages/setuptools/dist.py", line 22, in
<module>
from setuptools import windows_support
File "/usr/lib/python2.7/dist-packages/setuptools/windows_support.py",
line 11, in <module>
@windows_only
File "/usr/lib/python2.7/dist-packages/setuptools/windows_support.py",
line 6, in windows_only
if platform.system() != 'Windows':
File "/usr/lib/python2.7/platform.py", line 1286, in system
return uname()[0]
File "/usr/lib/python2.7/platform.py", line 1253, in uname
processor = _syscmd_uname('-p','')
File "/usr/lib/python2.7/platform.py", line 988, in _syscmd_uname
rc = f.close()
IOError: [Errno 10] No child processes
The traceback indicates Python tries to run system("uname", "-p"), but
fails due to no child process.
/Ole
--
Benjamin Leutner M.Sc.
PhD candidate
Department of Remote Sensing
University of Wuerzburg
Campus Hubland Nord 86
97074 Wuerzburg, Germany
Tel: +49-(0)931-31 89594
Email: [email protected]
Web: http://www.fernerkundung.uni-wuerzburg.de