1

I need to install pantsbuild on to an Anaconda python installation of 1.7.0. This is running on CentOS 7 and the Anaconda version cannot change. I have set the PATH so that it points to the Anaconda installation of python. So I cloned the github repo https://github.com/twitter/commons.git and tried to run ./pants. and I get the following output

Bootstrapping pants with requirements pantsbuild.pants==0.0.33
Using /opt/anaconda/bin/python2.7
~/codes/commons/build-support ~/codes/commons
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 1572k  100 1572k    0     0  1364k      0  0:00:01  0:00:01 --:--:-- 1372k
virtualenv-1.11.6/
virtualenv-1.11.6/AUTHORS.txt
virtualenv-1.11.6/bin/
virtualenv-1.11.6/bin/rebuild-script.py
virtualenv-1.11.6/docs/
virtualenv-1.11.6/docs/conf.py
virtualenv-1.11.6/docs/index.rst
virtualenv-1.11.6/docs/make.bat
virtualenv-1.11.6/docs/Makefile
virtualenv-1.11.6/docs/news.rst
virtualenv-1.11.6/docs/virtualenv.rst
virtualenv-1.11.6/LICENSE.txt
virtualenv-1.11.6/MANIFEST.in
virtualenv-1.11.6/PKG-INFO
virtualenv-1.11.6/README.rst
virtualenv-1.11.6/scripts/
virtualenv-1.11.6/scripts/virtualenv
virtualenv-1.11.6/setup.cfg
virtualenv-1.11.6/setup.py
virtualenv-1.11.6/virtualenv.egg-info/
virtualenv-1.11.6/virtualenv.egg-info/dependency_links.txt
virtualenv-1.11.6/virtualenv.egg-info/entry_points.txt
virtualenv-1.11.6/virtualenv.egg-info/not-zip-safe
virtualenv-1.11.6/virtualenv.egg-info/PKG-INFO
virtualenv-1.11.6/virtualenv.egg-info/SOURCES.txt
virtualenv-1.11.6/virtualenv.egg-info/top_level.txt
virtualenv-1.11.6/virtualenv.py
virtualenv-1.11.6/virtualenv_embedded/
virtualenv-1.11.6/virtualenv_embedded/activate.bat
virtualenv-1.11.6/virtualenv_embedded/activate.csh
virtualenv-1.11.6/virtualenv_embedded/activate.fish
virtualenv-1.11.6/virtualenv_embedded/activate.ps1
virtualenv-1.11.6/virtualenv_embedded/activate.sh
virtualenv-1.11.6/virtualenv_embedded/activate_this.py
virtualenv-1.11.6/virtualenv_embedded/deactivate.bat
virtualenv-1.11.6/virtualenv_embedded/distutils-init.py
virtualenv-1.11.6/virtualenv_embedded/distutils.cfg
virtualenv-1.11.6/virtualenv_embedded/site.py
virtualenv-1.11.6/virtualenv_support/
virtualenv-1.11.6/virtualenv_support/__init__.py
virtualenv-1.11.6/virtualenv_support/pip-1.5.6-py2.py3-none-any.whl
virtualenv-1.11.6/virtualenv_support/setuptools-3.6-py2.py3-none-any.whl
~/codes/commons
New python executable in /root/codes/commons/build-support/python/../pants.venv/bin/python2.7
Also creating executable in /root/codes/commons/build-support/python/../pants.venv/bin/python
ERROR: The executable /root/codes/commons/build-support/python/../pants.venv/bin/python2.7 is not functioning
ERROR: It thinks sys.prefix is u'/usr' (should be u'/root/codes/commons/build-support/pants.venv')
ERROR: virtualenv is not compatible with this system or executable
build-support/python/libvirtualenv.sh: line 14: /root/codes/commons/build-support/python/../pants.venv/bin/activate: No such file or directory
Requirement already satisfied (use --upgrade to upgrade): pantsbuild.pants.contrib.scrooge==0.0.33 in /opt/anaconda/lib/python2.7/site-packages
Requirement already satisfied (use --upgrade to upgrade): pantsbuild.pants==0.0.33 in /root/.local/lib/python2.7/site-packages/pantsbuild.pants-0.0.33-py2.7.egg
Requirement already satisfied (use --upgrade to upgrade): twitter.common.collections>=0.3.1,<0.4 in /root/.local/lib/python2.7/site-packages/twitter.common.collections-0.3.3-py2.7.egg (from pantsbuild.pants.contrib.scrooge==0.0.33)
Requirement already satisfied (use --upgrade to upgrade): distribute in /opt/anaconda/lib/python2.7/site-packages (from pantsbuild.pants==0.0.33)
Requirement already satisfied (use --upgrade to upgrade): six==1.8.0 in /root/.local/lib/python2.7/site-packages/six-1.8.0-py2.7.egg (from pantsbuild.pants==0.0.33)
Requirement already satisfied (use --upgrade to upgrade): twitter.common.dirutil>=0.3.1,<0.4 in /root/.local/lib/python2.7/site-packages/twitter.common.dirutil-0.3.3-py2.7.egg (from pantsbuild.pants==0.0.33)
Requirement already satisfied (use --upgrade to upgrade): twitter.common.threading>=0.3.1,<0.4 in /root/.local/lib/python2.7/site-packages/twitter.common.threading-0.3.3-py2.7.egg (from pantsbuild.pants==0.0.33)
Requirement already satisfied (use --upgrade to upgrade): requests>=2.5.0,<2.6 in /root/.local/lib/python2.7/site-packages/requests-2.5.3-py2.7.egg (from pantsbuild.pants==0.0.33)
Requirement already satisfied (use --upgrade to upgrade): psutil==1.1.3 in /root/.local/lib/python2.7/site-packages/psutil-1.1.3-py2.7-linux-x86_64.egg (from pantsbuild.pants==0.0.33)
Requirement already satisfied (use --upgrade to upgrade): ansicolors==1.0.2 in /root/.local/lib/python2.7/site-packages/ansicolors-1.0.2-py2.7.egg (from pantsbuild.pants==0.0.33)
Requirement already satisfied (use --upgrade to upgrade): pystache==0.5.3 in /root/.local/lib/python2.7/site-packages/pystache-0.5.3-py2.7.egg (from pantsbuild.pants==0.0.33)
Requirement already satisfied (use --upgrade to upgrade): pex>=0.8.6,<0.8.999999 in /root/.local/lib/python2.7/site-packages/pex-0.8.6-py2.7.egg (from pantsbuild.pants==0.0.33)
Requirement already satisfied (use --upgrade to upgrade): docutils>=0.12,<0.13 in /root/.local/lib/python2.7/site-packages/docutils-0.12-py2.7.egg (from pantsbuild.pants==0.0.33)
Requirement already satisfied (use --upgrade to upgrade): twitter.common.confluence>=0.3.1,<0.4 in /root/.local/lib/python2.7/site-packages/twitter.common.confluence-0.3.3-py2.7.egg (from pantsbuild.pants==0.0.33)
Requirement already satisfied (use --upgrade to upgrade): Markdown==2.1.1 in /root/.local/lib/python2.7/site-packages/Markdown-2.1.1-py2.7.egg (from pantsbuild.pants==0.0.33)
Requirement already satisfied (use --upgrade to upgrade): Pygments==1.4 in /root/.local/lib/python2.7/site-packages/Pygments-1.4-py2.7.egg (from pantsbuild.pants==0.0.33)
Requirement already satisfied (use --upgrade to upgrade): twitter.common.util>=0.3.1,<0.4 in /root/.local/lib/python2.7/site-packages/twitter.common.util-0.3.3-py2.7.egg (from pantsbuild.pants==0.0.33)
Requirement already satisfied (use --upgrade to upgrade): twitter.common.config>=0.3.1,<0.4 in /root/.local/lib/python2.7/site-packages/twitter.common.config-0.3.3-py2.7.egg (from pantsbuild.pants==0.0.33)
Requirement already satisfied (use --upgrade to upgrade): lockfile==0.10.2 in /root/.local/lib/python2.7/site-packages/lockfile-0.10.2-py2.7.egg (from pantsbuild.pants==0.0.33)
Requirement already satisfied (use --upgrade to upgrade): zincutils==0.3 in /root/.local/lib/python2.7/site-packages/zincutils-0.3-py2.7.egg (from pantsbuild.pants==0.0.33)
Requirement already satisfied (use --upgrade to upgrade): coverage>=3.7,<3.8 in /root/.local/lib/python2.7/site-packages/coverage-3.7.1-py2.7-linux-x86_64.egg (from pantsbuild.pants==0.0.33)
Requirement already satisfied (use --upgrade to upgrade): pytest>=2.6,<2.7 in /root/.local/lib/python2.7/site-packages/pytest-2.6.4-py2.7.egg (from pantsbuild.pants==0.0.33)
Requirement already satisfied (use --upgrade to upgrade): pytest-cov>=1.8,<1.9 in /root/.local/lib/python2.7/site-packages/pytest_cov-1.8.1-py2.7.egg (from pantsbuild.pants==0.0.33)
Requirement already satisfied (use --upgrade to upgrade): twitter.common.lang==0.3.3 in /root/.local/lib/python2.7/site-packages/twitter.common.lang-0.3.3-py2.7.egg (from twitter.common.collections>=0.3.1,<0.4->pantsbuild.pants.contrib.scrooge==0.0.33)
Requirement already satisfied (use --upgrade to upgrade): twitter.common.log==0.3.3 in /root/.local/lib/python2.7/site-packages/twitter.common.log-0.3.3-py2.7.egg (from twitter.common.confluence>=0.3.1,<0.4->pantsbuild.pants==0.0.33)
Requirement already satisfied (use --upgrade to upgrade): twitter.common.contextutil==0.3.3 in /root/.local/lib/python2.7/site-packages/twitter.common.contextutil-0.3.3-py2.7.egg (from twitter.common.util>=0.3.1,<0.4->pantsbuild.pants==0.0.33)
Requirement already satisfied (use --upgrade to upgrade): py>=1.4.25 in /root/.local/lib/python2.7/site-packages/py-1.4.30-py2.7.egg (from pytest>=2.6,<2.7->pantsbuild.pants==0.0.33)
Requirement already satisfied (use --upgrade to upgrade): cov-core>=1.14.0 in /root/.local/lib/python2.7/site-packages/cov_core-1.15.0-py2.7.egg (from pytest-cov>=1.8,<1.9->pantsbuild.pants==0.0.33)
Requirement already satisfied (use --upgrade to upgrade): twitter.common.options==0.3.3 in /root/.local/lib/python2.7/site-packages/twitter.common.options-0.3.3-py2.7.egg (from twitter.common.log==0.3.3->twitter.common.confluence>=0.3.1,<0.4->pantsbuild.pants==0.0.33)
Cleaning up...
./pants: line 29: exec: pants: not found

I am thinking its a version conflict between virtualenv and Anaconda. I would appreciate any advice to resolve this issue.

Thanks

laali
  • 21
  • 5

1 Answers1

2

I would strongly recommend not running anything as root if at all possible.

The important bit of the error message is here:

ERROR: The executable /root/codes/commons/build-support/python/../pants.venv/bin/python2.7 is not functioning
ERROR: It thinks sys.prefix is u'/usr' (should be u'/root/codes/commons/build-support/pants.venv')
ERROR: virtualenv is not compatible with this system or executable

I'm not sure what's different about Anaconda Python, but some Googling does reveal that Anaconda seems to be doing some of what virtualenv does, but differently. So maybe there's a conflict? If you just try installing and running vanilla virtualenv, that might make troubleshooting easier.

  • Thanks David. The script I want to package depends heavily on Anaconda 1.7.0. I am not sure how to install virtualenv seperate from the Anaconda installation and use it to package my script. – laali Jun 29 '15 at 18:43
  • I meant that virtualenv itself might be the problem. But John Sirois mentioned on the pants mailing list that he is looking into this, so hopefully we'll get a resolution soon. – David Turner Jun 30 '15 at 20:22