aboutcode-org / scancode-toolkit

:mag: ScanCode detects licenses, copyrights, dependencies by "scanning code" ... to discover and inventory open source and third-party packages used in your code. Sponsored by NLnet project https://nlnet.nl/project/vulnerabilitydatabase, the Google Summer of Code, Azure credits, nexB and others generous sponsors!
https://github.com/aboutcode-org/scancode-toolkit/releases/
2.1k stars 542 forks source link

When running in Python 3.8*, a warning message occurs. #2746

Closed soimkim closed 2 years ago

soimkim commented 2 years ago

Description

Warning message: /cluecode/copyrights.py:3382: FutureWarning: Possible set difference at position 3 remove_tags = re.compile(

How To Reproduce

Run Scancode with Python 3.8.12

System configuration

peelandsee commented 2 years ago

Hi, thanks for creating the issue, I'm experiencing the same on Python 3.9.2

How To Reproduce

Build the following Dockerfile:

FROM debian:stable-slim
ARG SCANCODE_VERSION="30.1.0"

RUN apt update && \
    apt upgrade -y && \
    apt install -y curl python3-dev libbz2-1.0 xz-utils zlib1g libxml2-dev libxslt1-dev libpopt0 libgomp1&& \
    apt clean

RUN curl -s -L "https://github.com/nexB/scancode-toolkit/releases/download/v${SCANCODE_VERSION}/scancode-toolkit-${SCANCODE_VERSION}_py39-linux.tar.xz" | tar xCfJ /root -

WORKDIR /root/scancode-toolkit-${SCANCODE_VERSION}/
RUN ./scancode --help

prints the following (redacted to improve readability)

[...]
Step 6/6 : RUN ./scancode --help                                                       
 ---> Running in 8eb7615826c0                                                          
* Configuring ScanCode for first use...                                                
created virtual environment CPython3.9.2.final.0-64 in 5921ms                  
  creator CPython3Posix(dest=/root/scancode-toolkit-30.1.0, clear=False, no_vcs_ignore=True, global=False)
  seeder PipInvoke(download=False, pip=embed, setuptools=embed, wheel=embed)   
    added seed packages: pip==21.2.3, setuptools==57.4.0, wheel==0.37.0                
  activators BashActivator,CShellActivator,FishActivator,PowerShellActivator,PythonActivator
Looking in links: /root/scancode-toolkit-30.1.0/thirdparty                             
Obtaining file:///root/scancode-toolkit-30.1.0                                         
    Preparing wheel metadata: started                                                  
    Preparing wheel metadata: finished with status 'done'                                                                                                                     
Processing ./thirdparty/publicsuffix2-2.20191221-py2.py3-none-any.whl            
Processing ./thirdparty/pygmars-0.7.0-py3-none-any.whl                                 
[...]
Installing collected packages: urllib3, soupsieve, six, pyyaml, pycparser, idna, chardet, certifi, text-unidecode, saneyaml, requests, intbitset, click, cffi, Beautifulsoup4,
 attrs, sortedcontainers, pluggy, cryptography, commoncode, plugincode, pdfminer.six, binaryornot, typecode-libmagic, typecode, pyparsing, patch, isodate, banal, xmltodict, w
ebencodings, wcwidth, toml, rdflib, publicsuffix2, ply, packaging, normality, more-itertools, MarkupSafe, lxml, future, extractcode-libarchive, extractcode-7z, extractcode, b
oolean.py, urlpy, spdx-tools, pymaven-patch, pygments, pygmars, pyahocorasick, pkginfo, pefile, parameter-expansion-patched, packageurl-python, license-expression, jsonstream
s, jinja2, javaproperties, jaraco.functools, html5lib, gemfileparser, ftfy, fingerprints, fasteners, dparse, debian-inspector, colorama, bitarray, scancode-toolkit           
  Running setup.py develop for scancode-toolkit                              
Successfully installed Beautifulsoup4-4.9.3 MarkupSafe-2.0.1 attrs-21.2.0 banal-1.0.6 binaryornot-0.4.4 bitarray-2.1.0 boolean.py-3.8 certifi-2021.5.30 cffi-1.14.5 chardet-4.
0.0 click-8.0.1 colorama-0.4.4 commoncode-30.0.0 cryptography-3.4.7 debian-inspector-30.0.0 dparse-0.5.1 extractcode-21.7.23 extractcode-7z-16.5.210531 extractcode-libarchive
-3.5.1.210531 fasteners-0.16 fingerprints-1.0.3 ftfy-6.0.3 future-0.18.2 gemfileparser-0.8.0 html5lib-1.1 idna-2.10 intbitset-2.4.1 isodate-0.6.0 jaraco.functools-3.3.0 javap
roperties-0.8.0 jinja2-3.0.1 jsonstreams-0.6.0 license-expression-21.6.14 lxml-4.6.3 more-itertools-8.8.0 normality-2.2.2 packageurl-python-0.9.4 packaging-20.9 parameter-exp
ansion-patched-0.2.1b4 patch-1.16 pdfminer.six-20201018 pefile-2021.5.24 pkginfo-1.7.0 pluggy-0.13.1 plugincode-21.1.21 ply-3.11 publicsuffix2-2.20191221 pyahocorasick-1.4.2 
pycparser-2.20 pygmars-0.7.0 pygments-2.9.0 pymaven-patch-0.3.0 pyparsing-2.4.7 pyyaml-5.4.1 rdflib-5.0.0 requests-2.25.1 saneyaml-0.5.2 scancode-toolkit-30.1.0 six-1.16.0 so
rtedcontainers-2.4.0 soupsieve-2.2.1 spdx-tools-0.7.0a3 text-unidecode-1.3 toml-0.10.2 typecode-21.6.1 typecode-libmagic-5.39.210531 urllib3-1.26.5 urlpy-0.5 wcwidth-0.2.5 we
bencodings-0.5.1 xmltodict-0.12.0                                                      
/root/scancode-toolkit-30.1.0/src/cluecode/copyrights.py:3382: FutureWarning: Possible set difference at position 3                                                           
  remove_tags = re.compile(                                                            
Usage: scancode [OPTIONS] <OUTPUT FORMAT OPTION(s)> <input>...                         

  scan the <input> file or directory for license, origin and packages and save         
  results to FILE(s) using one or more output format option.                   

  Error and progress are printed to stderr.                                    

Options:                                                          
[...]

where you can spot the warning:

/root/scancode-toolkit-30.1.0/src/cluecode/copyrights.py:3382: FutureWarning: Possible set difference at position 3                                                           
  remove_tags = re.compile(    

System configuration

What OS are you running on? (Windows/MacOS/Linux) : Linux / debian:stable-slim container image What version of scancode-toolkit was used to generate the scan file? 30.1.0 What installation method was used to install/run scancode? latest github tar.xz release