olemb / dbfread

Read DBF Files with Python
MIT License
223 stars 91 forks source link

I will have problems with Python3.6 #36

Closed marcelovieiratecnologia closed 3 years ago

marcelovieiratecnologia commented 5 years ago

can i install python 3.6 and it will run smoothly ???

shawnbrown commented 5 years ago

I just ran the tests using tox for Python versions 2.7, 3.4, 3.5, 3.6, 3.7, and 3.8 and they all passed:

GLOB sdist-make: ~/Projects/dbfread-project/setup.py
py27 inst-nodeps: ~/Projects/dbfread-project/.tox/.tmp/package/1/dbfread-2.0.7.zip
py27 installed: DEPRECATION: Python 2.7 will reach the end of its life on January 1st, 2020. Please upgrade your Python as Python 2.7 won't be maintained after that date. A future version of pip will drop support for Python 2.7. More details about Python 2 support in pip, can be found at https://pip.pypa.io/en/latest/development/release-process/#python-2-support,atomicwrites==1.3.0,attrs==19.1.0,configparser==3.8.1,contextlib2==0.5.5,dbfread==2.0.7,funcsigs==1.0.2,importlib-metadata==0.19,more-itertools==5.0.0,packaging==19.1,pathlib2==2.3.4,pluggy==0.12.0,py==1.8.0,pyparsing==2.4.2,pytest==4.6.5,scandir==1.10.0,six==1.12.0,wcwidth==0.1.7,zipp==0.6.0
py27 run-test-pre: PYTHONHASHSEED='3513807341'
py27 run-test: commands[0] | pytest
============================= test session starts ==============================
platform linux2 -- Python 2.7.16, pytest-4.6.5, py-1.8.0, pluggy-0.12.0
cachedir: .tox/py27/.pytest_cache
rootdir: ~/Projects/dbfread-project, inifile: setup.cfg
collected 18 items                                                             

dbfread/test_field_parser.py .............                               [ 72%]
dbfread/test_invalid_value.py ..                                         [ 83%]
dbfread/test_memo.py .                                                   [ 88%]
dbfread/test_read_and_length.py ..                                       [100%]

========================== 18 passed in 0.06 seconds ===========================
py34 inst-nodeps: ~/Projects/dbfread-project/.tox/.tmp/package/1/dbfread-2.0.7.zip
py34 installed: DEPRECATION: Python 3.4 support has been deprecated. pip 19.1 will be the last one supporting it. Please upgrade your Python as Python 3.4 won't be maintained after March 2019 (cf PEP 429).,atomicwrites==1.3.0,attrs==19.1.0,dbfread==2.0.7,importlib-metadata==0.19,more-itertools==7.2.0,packaging==19.1,pathlib2==2.3.4,pluggy==0.12.0,py==1.8.0,pyparsing==2.4.2,pytest==4.6.5,scandir==1.10.0,six==1.12.0,wcwidth==0.1.7,zipp==0.6.0
py34 run-test-pre: PYTHONHASHSEED='3513807341'
py34 run-test: commands[0] | pytest
============================= test session starts ==============================
platform linux -- Python 3.4.10, pytest-4.6.5, py-1.8.0, pluggy-0.12.0
cachedir: .tox/py34/.pytest_cache
rootdir: ~/Projects/dbfread-project, inifile: setup.cfg
collected 18 items                                                             

dbfread/test_field_parser.py .............                               [ 72%]
dbfread/test_invalid_value.py ..                                         [ 83%]
dbfread/test_memo.py .                                                   [ 88%]
dbfread/test_read_and_length.py ..                                       [100%]

========================== 18 passed in 0.10 seconds ===========================
py35 inst-nodeps: ~/Projects/dbfread-project/.tox/.tmp/package/1/dbfread-2.0.7.zip
py35 installed: atomicwrites==1.3.0,attrs==19.1.0,dbfread==2.0.7,importlib-metadata==0.19,more-itertools==7.2.0,packaging==19.1,pathlib2==2.3.4,pluggy==0.12.0,py==1.8.0,pyparsing==2.4.2,pytest==5.1.2,six==1.12.0,wcwidth==0.1.7,zipp==0.6.0
py35 run-test-pre: PYTHONHASHSEED='3513807341'
py35 run-test: commands[0] | pytest
============================= test session starts ==============================
platform linux -- Python 3.5.7, pytest-5.1.2, py-1.8.0, pluggy-0.12.0
cachedir: .tox/py35/.pytest_cache
rootdir: ~/Projects/dbfread-project, inifile: setup.cfg
collected 18 items                                                             

dbfread/test_field_parser.py .............                               [ 72%]
dbfread/test_invalid_value.py ..                                         [ 83%]
dbfread/test_memo.py .                                                   [ 88%]
dbfread/test_read_and_length.py ..                                       [100%]

============================== 18 passed in 0.07s ==============================
py36 inst-nodeps: ~/Projects/dbfread-project/.tox/.tmp/package/1/dbfread-2.0.7.zip
py36 installed: atomicwrites==1.3.0,attrs==19.1.0,dbfread==2.0.7,importlib-metadata==0.19,more-itertools==7.2.0,packaging==19.1,pluggy==0.12.0,py==1.8.0,pyparsing==2.4.2,pytest==5.1.2,six==1.12.0,wcwidth==0.1.7,zipp==0.6.0
py36 run-test-pre: PYTHONHASHSEED='3513807341'
py36 run-test: commands[0] | pytest
============================= test session starts ==============================
platform linux -- Python 3.6.9, pytest-5.1.2, py-1.8.0, pluggy-0.12.0
cachedir: .tox/py36/.pytest_cache
rootdir: ~/Projects/dbfread-project, inifile: setup.cfg
collected 18 items                                                             

dbfread/test_field_parser.py .............                               [ 72%]
dbfread/test_invalid_value.py ..                                         [ 83%]
dbfread/test_memo.py .                                                   [ 88%]
dbfread/test_read_and_length.py ..                                       [100%]

============================== 18 passed in 0.07s ==============================
py37 inst-nodeps: ~/Projects/dbfread-project/.tox/.tmp/package/1/dbfread-2.0.7.zip
py37 installed: atomicwrites==1.3.0,attrs==19.1.0,dbfread==2.0.7,importlib-metadata==0.19,more-itertools==7.2.0,packaging==19.1,pluggy==0.12.0,py==1.8.0,pyparsing==2.4.2,pytest==5.1.2,six==1.12.0,wcwidth==0.1.7,zipp==0.6.0
py37 run-test-pre: PYTHONHASHSEED='3513807341'
py37 run-test: commands[0] | pytest
============================= test session starts ==============================
platform linux -- Python 3.7.4, pytest-5.1.2, py-1.8.0, pluggy-0.12.0
cachedir: .tox/py37/.pytest_cache
rootdir: ~/Projects/dbfread-project, inifile: setup.cfg
collected 18 items                                                             

dbfread/test_field_parser.py .............                               [ 72%]
dbfread/test_invalid_value.py ..                                         [ 83%]
dbfread/test_memo.py .                                                   [ 88%]
dbfread/test_read_and_length.py ..                                       [100%]

============================== 18 passed in 0.07s ==============================
py38 inst-nodeps: ~/Projects/dbfread-project/.tox/.tmp/package/1/dbfread-2.0.7.zip
py38 installed: atomicwrites==1.3.0,attrs==19.1.0,dbfread==2.0.7,importlib-metadata==0.19,more-itertools==7.2.0,packaging==19.1,pluggy==0.12.0,py==1.8.0,pyparsing==2.4.2,pytest==5.1.2,six==1.12.0,wcwidth==0.1.7,zipp==0.6.0
py38 run-test-pre: PYTHONHASHSEED='3513807341'
py38 run-test: commands[0] | pytest
============================= test session starts ==============================
platform linux -- Python 3.8.0b3, pytest-5.1.2, py-1.8.0, pluggy-0.12.0
cachedir: .tox/py38/.pytest_cache
rootdir: ~/Projects/dbfread-project, inifile: setup.cfg
collected 18 items                                                             

dbfread/test_field_parser.py .............                               [ 72%]
dbfread/test_invalid_value.py ..                                         [ 83%]
dbfread/test_memo.py .                                                   [ 88%]
dbfread/test_read_and_length.py ..                                       [100%]

============================== 18 passed in 0.06s ==============================
___________________________________ summary ____________________________________
  py27: commands succeeded
  py34: commands succeeded
  py35: commands succeeded
  py36: commands succeeded
  py37: commands succeeded
  py38: commands succeeded
  congratulations :)
olemb commented 3 years ago

It should run well in 3.6. (I'm using 3.8 now.)

If you're on 3.6 or higher you can get slightly faster reads by passing recfactory=dict to DBF and still get ordered dictionaries.