BookmarkSubscribeRSS Feed
Vincent_vD
Calcite | Level 5

I am trying to build the SAS python-sasclt module https://github.com/sassoftware/python-sasctl but I get the following errors:

Collecting python-sasctl
WARNING: Generating metadata for package python-sasctl produced metadata for project name sasctl. Fix your #egg=python-sasctl fragments.
Requirement already satisfied: pandas in /usr/local/lib/python3.8/site-packages (from sasctl) (1.1.0)
Requirement already satisfied: scikit-learn in /usr/local/lib/python3.8/site-packages (from sasctl) (1.0.1)
Requirement already satisfied: requests in /usr/local/lib/python3.8/site-packages (from sasctl) (2.23.0)
Requirement already satisfied: pyyaml in /usr/local/lib/python3.8/site-packages (from sasctl) (5.3.1)
Collecting packaging (from sasctl)


ERROR: Could not find a version that satisfies the requirement packaging (from sasctl) (from versions: none)
ERROR: No matching distribution found for packaging (from sasctl)

I have no idea how to fix that, what does "from versions: none" mean or "No matching distribution found" for that matter?

I am building on Suse Linux Enterprise Server (SLES)12 SP5, because the target Viya 3.5 servers are running SLES 12 SP5.

thx,

Vincent

 

7 REPLIES 7
jlwalker
SAS Employee

Hey Vincent,

 

Can you post the command that you're using to build the package?  And which version of Python you're using.

 

 

Vincent_vD
Calcite | Level 5

Hi jlwalker,

$ /usr/local/bin/python3 -V
Python 3.8.1

$ pip3 -V
pip 19.2.3 from /usr/local/lib/python3.8/site-packages/pip (python 3.8)

We use the a-a-p building environment (http://www.a-a-p.org/index.html) to build our internal sw packages from sources. So here I use the tarball python-sasctl-1.7.1.tar.gz. The actual command I use is:

/usr/local/bin/pip3 install --no-index --find-links=distfiles $(PORTNAME) --root=$PKGDIR

where $(PORTNAME) = python-sasctl  and  $PKGDIR = pack

thanks for the help,

Vincent

jlwalker
SAS Employee

Hey Vincent,

 

Thanks for providing those details.  I think the issue is that the package name you're providing to pip isn't correct ("python-sasctl" is the name of the GitHub repository, but the actual Python package is just called "sasctl"). 

 

Can you try running with

$(PORTNAME) = sasctl 

 

/usr/local/bin/pip3 install --no-index --find-links=distfiles sasctl --root=pack python-sasctl-1.7.1.tar.gz

 

If that still doesn't work, can you run with increase verbosity and post the output so we can debug in more detail:

/usr/local/bin/pip3 install -vvv --no-index --find-links=distfiles sasctl --root=pack python-sasctl-1.7.1.tar.gz

 

Thanks,

 

Jon

Vincent_vD
Calcite | Level 5

Morning Jon,

thanks so far, but that just did not do it yet:

Aap: /usr/local/bin/pip3 install --no-index --find-links=distfiles sasctl --root=/home/xv18194/scripts/ports/sas/py3-python-sasctl/pack
Aap: chown -Rh root:root /home/xv18194/scripts/ports/sas/py3-python-sasctl/pack
WARNING: The directory '/home/xv18194/.cache/pip/http' or its parent directory is not owned by the current user and the cache has been disabled. Please check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag.
WARNING: The directory '/home/xv18194/.cache/pip' or its parent directory is not owned by the current user and caching wheels has been disabled. check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag.
Looking in links: distfiles
Collecting sasctl
Requirement already satisfied: pandas in /usr/local/lib/python3.8/site-packages (from sasctl) (1.1.0)
Requirement already satisfied: scikit-learn in /usr/local/lib/python3.8/site-packages (from sasctl) (1.0.1)
Requirement already satisfied: requests in /usr/local/lib/python3.8/site-packages (from sasctl) (2.23.0)
Requirement already satisfied: pyyaml in /usr/local/lib/python3.8/site-packages (from sasctl) (5.3.1)
Collecting packaging (from sasctl)
ERROR: Could not find a version that satisfies the requirement packaging (from sasctl) (from versions: none)
ERROR: No matching distribution found for packaging (from sasctl)

So I tried the more verbose variant:

Aap: /usr/local/bin/pip3 install -vvv --no-index --find-links=distfiles sasctl --root=/home/xv18194/scripts/ports/sas/py3-python-sasctl/pack
Aap: chown -Rh root:root /home/xv18194/scripts/ports/sas/py3-python-sasctl/pack
WARNING: The directory '/home/xv18194/.cache/pip/http' or its parent directory is not owned by the current user and the cache has been disabled. Please check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag.
Ignoring indexes: https://pypi.org/simple
Created temporary directory: /tmp/pip-ephem-wheel-cache-vamwnxvm
WARNING: The directory '/home/xv18194/.cache/pip' or its parent directory is not owned by the current user and caching wheels has been disabled. check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag.
Created temporary directory: /tmp/pip-req-tracker-d92k_azp
Created requirements tracker '/tmp/pip-req-tracker-d92k_azp'
Created temporary directory: /tmp/pip-install-l9sk3gp_
Looking in links: distfiles
Collecting sasctl
0 location(s) to search for versions of sasctl:
Skipping link: not a file: distfiles (from -f)
Found link file:///home/xv18194/scripts/ports/sas/py3-python-sasctl/distfiles/sasctl-1.7.1.tar.gz, version: 1.7.1
Local files found: /home/xv18194/scripts/ports/sas/py3-python-sasctl/distfiles/sasctl-1.7.1.tar.gz
Given no hashes to check 1 links for project 'sasctl': discarding no candidates
Using version 1.7.1 (newest of versions: 1.7.1)
Added sasctl from file:///home/xv18194/scripts/ports/sas/py3-python-sasctl/distfiles/sasctl-1.7.1.tar.gz to build tracker '/tmp/pip-req-tracker-d92k_azp'
Running setup.py (path:/tmp/pip-install-l9sk3gp_/sasctl/setup.py) egg_info for package sasctl
Running command python setup.py egg_info
running egg_info
creating pip-egg-info/sasctl.egg-info
writing pip-egg-info/sasctl.egg-info/PKG-INFO
writing dependency_links to pip-egg-info/sasctl.egg-info/dependency_links.txt
writing entry points to pip-egg-info/sasctl.egg-info/entry_points.txt
writing requirements to pip-egg-info/sasctl.egg-info/requires.txt
writing top-level names to pip-egg-info/sasctl.egg-info/top_level.txt
writing manifest file 'pip-egg-info/sasctl.egg-info/SOURCES.txt'
reading manifest file 'pip-egg-info/sasctl.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
writing manifest file 'pip-egg-info/sasctl.egg-info/SOURCES.txt'
Source in /tmp/pip-install-l9sk3gp_/sasctl has version 1.7.1, which satisfies requirement sasctl from file:///home/xv18194/scripts/ports/sas/py3-python-sasctl/distfiles/sasctl-1.7.1.tar.gz
Removed sasctl from file:///home/xv18194/scripts/ports/sas/py3-python-sasctl/distfiles/sasctl-1.7.1.tar.gz from build tracker '/tmp/pip-req-tracker-d92k_azp'
Requirement already satisfied: pandas in /usr/local/lib/python3.8/site-packages (from sasctl) (1.1.0)
Requirement already satisfied: scikit-learn in /usr/local/lib/python3.8/site-packages (from sasctl) (1.0.1)
Requirement already satisfied: requests in /usr/local/lib/python3.8/site-packages (from sasctl) (2.23.0)
Requirement already satisfied: pyyaml in /usr/local/lib/python3.8/site-packages (from sasctl) (5.3.1)
Collecting packaging (from sasctl)
0 location(s) to search for versions of packaging:
Skipping link: Missing project version for packaging: file:///home/xv18194/scripts/ports/sas/py3-python-sasctl/distfiles/sasctl-1.7.1.tar.gz
Given no hashes to check 0 links for project 'packaging': discarding no candidates
ERROR: Could not find a version that satisfies the requirement packaging (from sasctl) (from versions: none)
Cleaning up...
Removing source in /tmp/pip-install-l9sk3gp_/sasctl
Removed build tracker '/tmp/pip-req-tracker-d92k_azp'
ERROR: No matching distribution found for packaging (from sasctl)
Exception information:
Traceback (most recent call last):
File "/usr/local/lib/python3.8/site-packages/pip/_internal/cli/base_command.py", line 188, in main
status = self.run(options, args)
File "/usr/local/lib/python3.8/site-packages/pip/_internal/commands/install.py", line 345, in run
resolver.resolve(requirement_set)
File "/usr/local/lib/python3.8/site-packages/pip/_internal/legacy_resolve.py", line 196, in resolve
self._resolve_one(requirement_set, req)
File "/usr/local/lib/python3.8/site-packages/pip/_internal/legacy_resolve.py", line 359, in _resolve_one
abstract_dist = self._get_abstract_dist_for(req_to_install)
File "/usr/local/lib/python3.8/site-packages/pip/_internal/legacy_resolve.py", line 305, in _get_abstract_dist_for
abstract_dist = self.preparer.prepare_linked_requirement(
File "/usr/local/lib/python3.8/site-packages/pip/_internal/operations/prepare.py", line 134, in prepare_linked_requirement
req.populate_link(finder, upgrade_allowed, require_hashes)
File "/usr/local/lib/python3.8/site-packages/pip/_internal/req/req_install.py", line 211, in populate_link
self.link = finder.find_requirement(self, upgrade)
File "/usr/local/lib/python3.8/site-packages/pip/_internal/index.py", line 1227, in find_requirement
raise DistributionNotFound(
pip._internal.exceptions.DistributionNotFound: No matching distribution found for packaging (from sasctl)

 

Br,

Vincent

jlwalker
SAS Employee

Hey Vincent,

 

I  just realized that when pip complains about not finding "packaging" it's actually referring to the "packaging" module:

ERROR: Could not find a version that satisfies the requirement packaging (from sasctl) (from versions: none)
ERROR: No matching distribution found for packaging (from sasctl)

The packaging module (https://pypi.org/project/packaging/) is a prerequisite for sasctl, along with pandas, requests, pyyaml, etc.  From the logs, it appears that your environment already has all of those prerequisites installed, except for packaging:

Requirement already satisfied: pandas in /usr/local/lib/python3.8/site-packages (from sasctl) (1.1.0)
Requirement already satisfied: scikit-learn in /usr/local/lib/python3.8/site-packages (from sasctl) (1.0.1)
Requirement already satisfied: requests in /usr/local/lib/python3.8/site-packages (from sasctl) (2.23.0)
Requirement already satisfied: pyyaml in /usr/local/lib/python3.8/site-packages (from sasctl) (5.3.1)
Collecting packaging (from sasctl)

Try installing the packages module first or making its source archive available to pip during install.

 

 

Jon

Vincent_vD
Calcite | Level 5

Hey Jon,

>I  just realized that when pip complains about not finding "packaging" it's actually referring to the "packaging" module

😊of course, I missed that one too. 🙄

OK, I added the "package" module as a requirement, but then the next req pops up during build/install: joblib. And that might not be the last one. I will continue and let you know how I advance.

 

Thx,

Vincent

Vincent_vD
Calcite | Level 5

Hi Jon,

I was out of office for a few days. Status: still some pre-reqs popping up, continuing.

Vincent

sas-innovate-2024.png

Available on demand!

Missed SAS Innovate Las Vegas? Watch all the action for free! View the keynotes, general sessions and 22 breakouts on demand.

 

Register now!

How to Concatenate Values

Learn how use the CAT functions in SAS to join values from multiple variables into a single value.

Find more tutorials on the SAS Users YouTube channel.

Click image to register for webinarClick image to register for webinar

Classroom Training Available!

Select SAS Training centers are offering in-person courses. View upcoming courses for:

View all other training opportunities.

Discussion stats
  • 7 replies
  • 1047 views
  • 0 likes
  • 2 in conversation