Re: "pip install scons" result in a broken installation that is unusable
Bill Deegan <[email protected]>
| Newsgroups | gmane.comp.programming.tools.scons.user |
|---|---|
| Message-ID | <CAEyG4CEKaU0dbCKYMHw6319XfbzM1Y=vGs0Fs+DnL4G-BiFh+w@mail.gmail.com> |
Here's what I'm seeing: ~/stow/python-2.7.14/bin/pip install --index-url https://test.pypi.org/simple/ scons==3.1.0.alpha.20181011 Looking in indexes: https://test.pypi.org/simple/ Collecting scons==3.1.0.alpha.20181011 Installing collected packages: scons Successfully installed scons-3.1.0a20181011 bdeegan@kufra1:~/devel/scons/tmp$ scons -c scons: Reading SConscript files ... scons: done reading SConscript files. scons: Cleaning targets ... scons: done cleaning targets. This is on a python 2.7.14 I build from scratch on an ubuntu 16.04.5 LTS system. Try pip uninstall scons check that the scons files are gone from /cluster/apps/python/2.7.14 /lib/python2.7/site-packages/scons* Then try reinstalling. On Fri, Oct 12, 2018 at 9:47 AM Bill Deegan <[email protected]> wrote: > Do you have wheel installed? > I don't see this problem on a vanilla python 2.7.14 install with a pip > install (no virtualenv) into that tree.. > Are you sure you're picking up scons from that path? > can you paste the output of 'which scons' ? > > > On Fri, Oct 12, 2018 at 1:39 AM Fux Samuel (ID SIS) <[email protected]> > wrote: > >> Dear Bill, >> >> Thank you for your reply. >> >> For me it still fails: >> >> [sfux@lo-login-01 ~]$ pip install --index-url >> https://test.pypi.org/simple/ scons==3.1.0.alpha.20181011 >> Looking in indexes: https://test.pypi.org/simple/ >> Collecting scons==3.1.0.alpha.20181011 >> Installing collected packages: scons >> Successfully installed scons-3.1.0a20181011 >> [sfux@lo-login-01 ~]$ scons >> SCons import failed. Unable to find engine files in: >> /cluster/apps/python/2.7.14/bin/../engine >> /cluster/apps/python/2.7.14/bin/scons-local-3.1.0.alpha.20181011 >> /cluster/apps/python/2.7.14/bin/scons-local >> >> /cluster/apps/python/2.7.14/lib64/python2.7/site-packages/lib/scons-3.1.0.alpha.20181011 >> /cluster/apps/python/2.7.14/lib/scons-3.1.0.alpha.20181011 >> /cluster/apps/python/2.7.14/lib/scons-3.1.0.alpha.20181011 >> >> /cluster/apps/python/2.7.14/lib64/python2.7/site-packages/lib/python2.7/site-packages/scons-3.1.0.alpha.20181011 >> >> /cluster/apps/python/2.7.14/lib/python2.7/site-packages/scons-3.1.0.alpha.20181011 >> >> /cluster/apps/python/2.7.14/lib/python2.7/site-packages/scons-3.1.0.alpha.20181011 >> /cluster/apps/python/2.7.14/lib64/scons-3.1.0.alpha.20181011 >> /cluster/apps/python/2.7.14/lib64/python2.7/site-packages/lib/scons >> /cluster/apps/python/2.7.14/lib/scons >> /cluster/apps/python/2.7.14/lib/scons >> >> /cluster/apps/python/2.7.14/lib64/python2.7/site-packages/lib/python2.7/site-packages/scons >> /cluster/apps/python/2.7.14/lib/python2.7/site-packages/scons >> /cluster/apps/python/2.7.14/lib/python2.7/site-packages/scons >> /cluster/apps/python/2.7.14/lib64/scons >> Traceback (most recent call last): >> File "/cluster/apps/python/2.7.14/bin/scons", line 192, in <module> >> import SCons.Script >> ImportError: No module named SCons.Script >> [sfux@lo-login-01 ~]$ >> >> >> Not using virtualenv is a personal preference, like not using Anaconda to >> install Python itself or like preferring pip over distutils. I don't like >> the additional step of activating the virtualenv because I would like to >> keep things as simple as possible for our cluster users. >> >> If virtualenv is a hard requirement for using SCons, then this should be >> added to the Readme.md file on github. Currently the Readme.md file states >> with regards to dependencies: >> >> Execution Requirements >> >> Running SCons requires Python version 2.7.* and Python 3.5 or higher. >> There should be no other dependencies or requirements to run SCons. >> Installation Requirements >> >> Nothing special. >> >> >> Best regards >> >> Sam >> >> -- >> ETH Zurich, Dr. sc. ETH Samuel Fux >> High Performance Computing, Scientific IT Services >> WEC D 13, Weinbergstrasse 11, 8092 Zurich, Switzerland >> Phone +41 44 632 57 63, http://www.id.ethz.ch/ >> [email protected] >> ------------------------------ >> *Von:* Scons-users [[email protected]]" im Auftrag von "Bill >> Deegan [[email protected]] >> *Gesendet:* Donnerstag, 11. Oktober 2018 19:45 >> *An:* SCons users mailing list >> *Betreff:* Re: [Scons-users] "pip install scons" result in a broken >> installation that is unusable >> >> This issue is resolved by patch merged into master in may. >> https://github.com/SCons/scons/pull/3134 >> >> You can try via package I just uploaded to testpypi >> pip install --index-url https://test.pypi.org/simple/ >> scons==3.1.0.alpha.20181011 >> >> Please let me know if this works for you. >> I tried in a freshly built python on my linux system. >> Seems to work for me. >> >> -Bill >> >> >> >> On Thu, Oct 11, 2018 at 1:37 PM Mats Wichmann <[email protected]> wrote: >> >>> On 10/11/2018 10:37 AM, Mats Wichmann wrote: >>> > On 10/11/2018 10:19 AM, Bill Deegan wrote: >>> >> It should work with recent pip. >>> >> Let me take a look today. >>> >> -Bill >>> > >>> > IMO, some of the paths are ready as they are and should not be joined >>> > with further bits. a little reorg is needed there. >>> >>> to be a little less cryptic, it seems that the very first place a path >>> could be added to prefs is here: >>> >>> # - running from egg check >>> try: >>> import pkg_resources >>> except ImportError: >>> pass >>> else: >>> # when running from an egg add the egg's directory >>> try: >>> d = pkg_resources.get_distribution('scons') >>> except pkg_resources.DistributionNotFound: >>> pass >>> else: >>> prefs.append(d.location) >>> >>> This stanza succeeds on all kinds of installations, "running from egg" >>> does not seem precise; whatever get_distribution looks for is found both >>> in Linux distro packages and pip installed locations. This gives you >>> back a path that does not want 'lib' or 'lib/pythonX.Y/site-packages' >>> appended. For example for a particular virtualenv that has pip-install'd >>> scons, that stanza yields: >>> >>> /home/mats/.virtualenvs/py27+scons/lib/python2.7 >>> >>> Further down, after the appending that happens in the two list >>> comprehensions to all the paths in prefs, that expanded to these two: >>> >>> /home/mats/.virtualenvs/py27+scons/lib/python2.7/site-packages/lib >>> >>> /home/mats/.virtualenvs/py27+scons/lib/python2.7/site-packages/lib/python2.7/site-packages >>> >>> which are throwaways, engine will never be found in those after they are >>> expanded to these four locations on the final round: >>> >>> >>> /home/mats/.virtualenvs/py27+scons/lib/python2.7/site-packages/lib/scons-3.0.1 >>> >>> /home/mats/.virtualenvs/py27+scons/lib/python2.7/site-packages/lib/python2.7/site-packages/scons-3.0.1 >>> /home/mats/.virtualenvs/py27+scons/lib/python2.7/site-packages/lib/scons >>> >>> /home/mats/.virtualenvs/py27+scons/lib/python2.7/site-packages/lib/python2.7/site-packages/scons >>> >>> there is no site-packages/lib and definitely no >>> site-packages/lib/.../site-packages - really this is the problem Samuel >>> is seeing. >>> >>> What we really wanted to generate from that original first path was: >>> >>> >>> /home/mats/.virtualenvs/py27+scons/lib/python2.7/site-packages/scons-3.0.1 >>> /home/mats/.virtualenvs/py27+scons/lib/python2.7/site-packages/scons >>> >>> _______________________________________________ >>> Scons-users mailing list >>> [email protected] >>> https://pairlist4.pair.net/mailman/listinfo/scons-users >>> >> _______________________________________________ >> Scons-users mailing list >> [email protected] >> https://pairlist4.pair.net/mailman/listinfo/scons-users >> > _______________________________________________ Scons-users mailing list [email protected] https://pairlist4.pair.net/mailman/listinfo/scons-users