NameError: name 'unicode' is not defined
Since yesterday after [virtualenv](https://github.com/pypa/virtualenv) updated to [20.8.0](https://virtualenv.pypa.io/en/latest/changelog.html#v20-8-0-2021-09-16) I'm having trouble with some of my modules tests. Test installation dependencies from `pip install tox psycopg2`: ```bash Successfully installed backports.entry-points-selectable-1.1.0 distlib-0.3.2 filelock-3.0.12 importlib-metadata-4.8.1 packaging-21.0 platformdirs-2.3.0 pluggy-1.0.0 psycopg2-2.9.1 py-1.10.0 pyparsing-2.4.7 six-1.16.0 toml-0.10.2 tox-3.24.4 typing-extensions-3.10.0.2 virtualenv-20.8.0 zipp-3.5.0 ``` Test installation dependencies from my module, command `tox -e py37-postgresql` + 3-4 custom modules from our repository: ```bash py37-postgresql installed: Babel==2.9.1,click==7.1.2,Flask==1.1.4,Flask-Babel==2.0.0,flask-tryton==0.10.0,Flask-WTF==0.15.1,Genshi==0.7.5,itsdangerous==1.1.0,Jinja2==2.11.3,lxml==4.6.3,MarkupSafe==2.0.1,passlib==1.7.4,Pillow==8.3.2,polib==1.1.1,psycopg2==2.9.1,python-barcode==0.13.1,python-dateutil==2.8.2,python-magic==0.4.24,python-sql==1.3.0,python-stdnum==1.16,pytz==2021.1,relatorio==0.10.0,simpleeval==0.8.1,six==1.16.0,trytond==6.0.7,trytond-account==6.0.3,trytond-account-invoice==6.0.3,trytond-account-invoice-stock==6.0.0,trytond-account-product==6.0.2,trytond-company==6.0.4,trytond-country==6.0.1,trytond-currency==6.0.1,trytond-party==6.0.2,trytond-product==6.0.2,trytond-purchase==6.0.3,trytond-sale==6.0.2,trytond-stock==6.0.7,trytond-stock-lot==6.0.0,trytond-stock-lot-sled==6.0.0,trytond-stock-package==6.0.1,trytond-stock-secondary-unit==6.0.0,trytond-web-user==6.0.0,Werkzeug==1.0.1,wrapt==1.13.0rc3,WTForms==3.0.0a1 ``` Full traceback: ```bash Traceback (most recent call last): File "setup.py", line 168, in <module> tests_require=tests_require, File "/builds/ingsys/sga/.tox/py37-postgresql/lib/python3.7/site-packages/setuptools/__init__.py", line 153, in setup return distutils.core.setup(**attrs) File "/usr/local/lib/python3.7/distutils/core.py", line 148, in setup dist.run_commands() File "/usr/local/lib/python3.7/distutils/dist.py", line 966, in run_commands self.run_command(cmd) File "/usr/local/lib/python3.7/distutils/dist.py", line 985, in run_command cmd_obj.run() File "/builds/ingsys/sga/.tox/py37-postgresql/lib/python3.7/site-packages/setuptools/command/test.py", line 223, in run self.run_tests() File "/builds/ingsys/sga/.tox/py37-postgresql/lib/python3.7/site-packages/setuptools/command/test.py", line 232, in run_tests exit=False, File "/usr/local/lib/python3.7/unittest/main.py", line 100, in __init__ self.parseArgs(argv) File "/usr/local/lib/python3.7/unittest/main.py", line 147, in parseArgs self.createTests() File "/usr/local/lib/python3.7/unittest/main.py", line 159, in createTests self.module) File "/usr/local/lib/python3.7/unittest/loader.py", line 220, in loadTestsFromNames suites = [self.loadTestsFromName(name, module) for name in names] File "/usr/local/lib/python3.7/unittest/loader.py", line 220, in <listcomp> suites = [self.loadTestsFromName(name, module) for name in names] File "/usr/local/lib/python3.7/unittest/loader.py", line 154, in loadTestsFromName module = __import__(module_name) File "/builds/ingsys/sga/tests/__init__.py", line 2, in <module> from trytond.modules.sga.tests.test_sga import suite File "/builds/ingsys/sga/.tox/py37-postgresql/lib/python3.7/site-packages/trytond/modules/sga/__init__.py", line 4, in <module> from . import sale File "/builds/ingsys/sga/.tox/py37-postgresql/lib/python3.7/site-packages/trytond/modules/sga/sale.py", line 21, in <module> from trytond.modules.sale.exceptions import SaleValidationError File "/builds/ingsys/sga/.tox/py37-postgresql/lib/python3.7/site-packages/trytond/modules/sale/__init__.py", line 5, in <module> from . import sale File "/builds/ingsys/sga/.tox/py37-postgresql/lib/python3.7/site-packages/trytond/modules/sale/sale.py", line 22, in <module> from trytond.modules.account.tax import TaxableMixin File "/builds/ingsys/sga/.tox/py37-postgresql/lib/python3.7/site-packages/trytond/modules/account/__init__.py", line 11, in <module> from . import move_template File "/builds/ingsys/sga/.tox/py37-postgresql/lib/python3.7/site-packages/trytond/modules/account/move_template.py", line 6, in <module> from simpleeval import simple_eval File "/builds/ingsys/sga/.tox/py37-postgresql/lib/python3.7/site-packages/simpleeval.py", line 168, in <module> "int": int, "float": float, "str": unicode} NameError: name 'unicode' is not defined ERROR: InvocationError for command /builds/ingsys/sga/.tox/py37-postgresql/bin/python setup.py test (exited with code 1) ``` I solved this using `pip install "virtualenv!=20.8.0" --upgrade` before `pip install tox pyscopg2` and just in case I added `RUN pip3 install "virtualenv!=20.8.0" --upgrade` in my Dockerfile. ## Files Download|Creator|Timestamp|Type ---|---|---|--- [case_virtualenv_not_20.8.0.txt](/uploads/311ecc6c94e02eae84bde678977aba9e/case_virtualenv_not_20.8.0.txt)|@hodeinavarro|2021-09-17 10:47:53.701000 UTC|text/plain [case_simpleeval_greater_0.8.1.txt](/uploads/1998274db7bda6c10740ceb61c884b13/case_simpleeval_greater_0.8.1.txt)|@hodeinavarro|2021-09-17 10:47:59.417000 UTC|text/plain [case_no_forced_deps.txt](/uploads/a4ccde97a789836c17f5fa19562ce87c/case_no_forced_deps.txt)|@hodeinavarro|2021-09-17 10:48:05.224000 UTC|text/plain
issue