<html>
<head>
<style><!--
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 12pt;
font-family:Calibri
}
--></style></head>
<body class='hmmessage'><div dir='ltr'><font style="" color="#000000">Hi Andy,</font><font style="" color="#000000"><br></font><font style="" color="#000000"><br></font><font style="" color="#000000">> All Rivet should require in PYTHONPATH is the path to the directory (or </font><font style="" color="#000000"><br></font><font style="" color="#000000">> directories) containing the rivet and yoda Python modules. These modules </font><font style="" color="#000000"><br></font><font style="" color="#000000"><br></font><font style="" color="#000000"><font style="" color="#000000">It seems that Rivet was build properly a</font>ccording to the "rivet-config"</font><font style="" color="#000000"> </font><font style="" color="#000000">dump</font><font style="" color="#000000">:<br></font><font style="" color="#000000">------------------------------------------</font><font style="" color="#000000"><br></font><font style="" color="#666666">[root@maksym bin]# ./rivet-config --pythonpath --libs --libdir --includedir</font><font style="" color="#666666"><br></font><font style="" color="#666666">/opt/Rivet/include  /opt/Rivet/lib / opt/Rivet/lib64/python2.7/site-packages   -lRivet</font><font style="" color="#000000"><br></font><font style="" color="#000000">------------------------------------------</font><font style="" color="#000000"><br></font><font style="" color="#000000"><br>Nevertheless, with your advice in mind I removed the PYTHON  and  the Python3 from the setup of the environment variables.</font><font style="" color="#000000"><font style="" color="#000000"><br></font></font><font style="" color="#000000">But once I tried to run Rivet it starts complaining:</font><font style="" color="#000000"><br></font><font style="" color="#666666">[root@maksym bin]# ./rivet --help</font><font style="" color="#666666"><br></font><font style="" color="#666666">The rivet Python module could not be loaded: is your PYTHONPATH set correctly?</font><font style="" color="#000000"><br><br></font><font style="" color="#000000">So, afterwards I even tried to copy the Rivet folder with python modules to the system path</font><font style="" color="#000000"><br></font><font style="" color="#666666">/usr/lib/python2.7/site-packages/</font><font style="" color="#666666"><br></font><font style="" color="#666666">/usr/lib64/python2.7/site-packages</font><font style="" color="#666666">/</font><font style="" color="#666666"><br></font><font style="" color="#000000"></font><font style="" color="#000000"><br></font><font style="" color="#000000">And again I got the same message</font><font style="" color="#000000"> that PYTHONPATH does not set correctly.</font><font style="" color="#000000"> In addition, if I will run another Rivet executable file</font><font style="" color="#000000"> it starts complaining that rivet module does not exist.<br></font><font style="" color="#000000">---------------------------------<br></font><font style="" color="#666666">[root@maksym bin]# ./rivet-which </font><font style="" color="#666666"><br></font><font style="" color="#666666">Traceback (most recent call last):</font><font style="" color="#666666"><br></font><font style="" color="#666666">  File "./rivet-which", line 13, in <module></font><font style="" color="#666666"><br></font><font style="" color="#666666">    import rivet, sys, os</font><font style="" color="#666666"><br></font><font style="" color="#666666">ImportError: No module named rivet</font><font style="" color="#666666"><br></font><font style="" color="#000000">---------------------------------<br><br></font><font style="" color="#000000"><br></font><font style="" color="#000000">Do you have any ideas how to make it work?</font><font style="" color="#000000"> BTW, the Rivet installation was configured in the following way:</font><br><font style="" color="#000000"><font style="" color="#000000">---------------------------------<br></font></font><font style="" color="#666666">[blessed@maksym Rivet-2.2.1]$ ./configure --prefix=/opt/Rivet  --exec-prefix=/opt/Rivet   --with-yoda=/opt/YODA --with-yoda-libpath=/opt/YODA/lib   --with-yoda-incpath=/opt/YODA/include  --with-hepmc=/opt/HEPMC2  --with-hepmc-libpath=/opt/HEPMC2/lib   --with-hepmc-incpath=/opt/HEPMC2/include   --with-fastjet=/opt/FastJet   --with-fastjet-libpath=/opt/FastJet/lib   --with-fastjet-incpath=/opt/FastJet/include  --with-gsl-incpath=/usr/local/include/gsl  PYTHON=/bin/python</font><br><font style="" color="#000000"><br><font style="" color="#666666">checking for python... /bin/python</font><font style="" color="#666666"><br></font><font style="" color="#666666">checking whether /bin/python version >= 2.5... yes</font><font style="" color="#666666"><br></font><font style="" color="#666666">checking for Python include path... /usr/include/python2.7</font><font style="" color="#666666"><br></font><font style="" color="#666666">configure: All Python build checks successful: 'yoda' Python extension will be built</font><font style="" color="#666666"><br></font><font style="" color="#666666">checking if the /usr/bin/g++ compiler accepts the -Wno-unused-but-set-variable flag... yes</font><font style="" color="#666666"><br></font><font style="" color="#666666">checking if the /usr/bin/g++ compiler accepts the -Wno-sign-compare flag... yes</font><font style="" color="#666666"><br></font><font style="" color="#666666">checking for python version... 2.7</font><font style="" color="#666666"><br></font><font style="" color="#666666">checking for python platform... linux2</font><font style="" color="#666666"><br></font><font style="" color="#666666">checking for python script directory... ${prefix}/lib/python2.7/site-packages</font><font style="" color="#666666"><br></font><font style="" color="#666666">checking for python extension module directory... ${exec_prefix}/lib64/python2.7/site-packages</font><font style="" color="#666666"><br></font><font style="" color="#666666">checking for Cython >= 0.18... yes</font><font style="" color="#666666"><br></font><font style="" color="#666666">configure: Cython >= 0.18 found: Python extension source can be rebuilt (for developers)</font><font style="" color="#666666"><br></font><font style="" color="#666666">configure: All Python build checks successful: 'rivet' Python extension will be built</font><br></font><font style="" color="#000000">---------------------------------</font><font style="" color="#000000"><br></font><font style="" color="#000000"><br><br><br><br></font><font style="" color="#000000">Best regards,</font><font style="" color="#000000"><br></font><font style="" color="#000000">Max</font><font style="" color="#000000"><br></font><br><br><br><br><br><br><br><br><div>> Subject: Re: [Rivet] Rivet issue with PYTHONPATH variable<br>> To: maksym.deliyergiyev@outlook.com; rivet@projects.hepforge.org<br>> From: andy.buckley@cern.ch<br>> Date: Mon, 28 Sep 2015 10:54:59 +0100<br>> <br>> Hi Max,<br>> <br>> I'm not sure what you are trying to do. Those paths look like <br>> system-level Python paths, which should be automatically searched by the <br>> active Python executable. In addition it doesn't make sense to have <br>> Python search module directories both for Python3 (which Rivet doesn't <br>> yet support) and Python2 -- you are either using one or the other!<br>> <br>> Your method 1 is setting a PYTHON variable as well as PYTHONPATH. I <br>> don't know if that has any effect, but note that $PYTHON is often used <br>> to refer to the python executable itself, so this could cause problems.<br>> <br>> Your method 2 implies some confusion over what rivet-config does: it <br>> just prints paths and config flags according to what was used to build <br>> and install Rivet, to help with consistency when building plugin modules <br>> or linking other codes against libRivet. It does not *set* the <br>> environment -- no executable can do that, because they can only modify <br>> the subshell that they execute in, which disappears when the program <br>> finishes.<br>> <br>> All Rivet should require in PYTHONPATH is the path to the directory (or <br>> directories) containing the rivet and yoda Python modules. These modules <br>> are actually directories, which contain files like __init__.py, other <br>> *.py files, and the C extensions which both cases are called core.so. I <br>> usually install into my home directory, and hence need to set <br>> PYTHONPATH; if you have installed into system paths like /usr or <br>> /usr/local then I suspect you should not need to set anything because <br>> e.g. /usr/lib64/pythonX.Y/site-packages should already be in the Python <br>> X.Y default search path.<br>> <br>> Andy<br>> <br>> <br>> On 28/09/15 10:38, Maksym Deliyergiyev wrote:<br>> > Dear Rivet developers,<br>> ><br>> > Could you please explain me how one should have to configure the<br>> > PYTHONPATH in order to force the Rivet application to work? I have tried<br>> > to setup this environment variable in several ways, but it seems the<br>> > Rivet still do not recognized it. The most weird thing that during the<br>> > configuration procedure the python is always found in the right place.<br>> ><br>> > Method 1:<br>> > ---------------------------------------------<br>> > export PYTHONPATH=$PYTHONPATH:/usr/lib/python2.7/site-packages<br>> > export PYTHONPATH=$PYTHONPATH:/usr/lib/python3.4/site-packages<br>> > export PYTHONPATH=$PYTHONPATH:/usr/lib64/python2.7/site-packages<br>> > export PYTHONPATH=$PYTHONPATH:/usr/lib64/python3.4/site-packages<br>> > export PYTHONPATH=$PYTHONPATH:/usr/local/include/python3.4m<br>> > export PYTHONPATH=$PYTHONPATH:/usr/include/python2.74<br>> > export PYTHONPATH=$PYTHONPATH:/bin/python<br>> ><br>> ><br>> > export PYTHON=$PYTHON:/usr/lib/python2.7/site-packages<br>> > export PYTHON=$PYTHON:/usr/lib/python3.4/site-packages<br>> > export PYTHON=$PYTHON:/usr/lib64/python2.7/site-packages<br>> > export PYTHON=$PYTHON:/usr/lib64/python3.4/site-packages<br>> > export PYTHON=$PYTHON:/usr/local/include/python3.4m<br>> > export PYTHON=$PYTHON:/usr/include/python2.74<br>> > export PYTHON=$PYTHON:/bin/python<br>> > ---------------------------------------------<br>> ><br>> ><br>> > Method 2:<br>> > ---------------------------------------------<br>> > ./rivet-config --pythonpath=/usr/include/python3.4m<br>> > --libs=/usr/lib64/python3.4/site-packages  --libdir=/opt/Rivet/lib<br>> > --includedir=/opt/Rivet/include<br>> > ---------------------------------------------<br>> ><br>> ><br>> > Method 3:<br>> > ---------------------------------------------<br>> > import os, sys<br>> ><br>> > ## Load the rivet module<br>> > try:<br>> >      import rivet<br>> > except:<br>> >      ## If rivet loading failed, try to bootstrap the Python path!<br>> >      try:<br>> >          # TODO: Is this a good idea? Maybe just notify the user that<br>> > their PYTHONPATH is wrong?<br>> >          import commands<br>> >          ...<br>> >          ...<br>> >          ...<br>> >          sys.path.append('/usr/lib/python2.7/site-packages')<br>> >          sys.path.append('/usr/lib/python3.4/site-packages')<br>> >          sys.path.append('/usr/lib64/python2.7/site-packages')<br>> >          sys.path.append('/usr/lib64/python3.4/site-packages')<br>> >          sys.path.append('/usr/local/include/python3.4m')<br>> >          sys.path.append('/usr/include/python2.74')<br>> >          sys.path.append('/usr/include/python3.4m')<br>> >          sys.path.append('/opt/Rivet/lib64/python2.7/site-packages')<br>> >          sys.path.append('/bin/python')<br>> >          import rivet<br>> >      except:<br>> >          sys.stderr.write("The rivet Python module could not be loaded:<br>> > is your PYTHONPATH set correctly?\n")<br>> >          sys.exit(1)<br>> > ---------------------------------------------<br>> ><br>> ><br>> ><br>> ><br>> ><br>> > Thanks in advance,<br>> > Max<br>> ><br>> ><br>> > _______________________________________________<br>> > Rivet mailing list<br>> > Rivet@projects.hepforge.org<br>> > https://www.hepforge.org/lists/listinfo/rivet<br>> ><br>> <br>> <br>> -- <br>> Dr Andy Buckley, Lecturer / Royal Society University Research Fellow<br>> Particle Physics Expt Group, University of Glasgow<br></div>                                        </div></body>
</html>