install.rst 3.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. Installing and upgrading:
  2. =========================
  3. You can get the latest stable version of pwman3 from pypi::
  4. $ pip install pwman3
  5. Or you can install pwman3 cloning the repository and running::
  6. $ git clone https://github.com/pwman3/pwman3.git
  7. $ cd pwman3 && pip install .
  8. Inside the extraced directory. At the moment pypi still does not have
  9. the latest version of pwman3.
  10. Upgrading from version 0.5.x
  11. ----------------------------
  12. If you used the 0.5.x version of ``pwman3`` your database is not compatible
  13. with the new 0.6.x and later versions of ``pwman3``. You need to export your database
  14. to a CSV from version 0.5.3 with::
  15. pwman> export
  16. See ``help export`` when running pwman3 in version 0.5.3.
  17. Once exported you should rename your old database, to keep a backup of it.
  18. Then you can install pwman3 in version 0.6.x or later as described above. When finished
  19. you can import your passwords from the CSV to a new database with::
  20. $ pwman3 -i path_to_your_file.csv \;
  21. The `\;` tells the importer that the file is semi-colon separated.
  22. When the import is done, start pwman3 with::
  23. $ pwman3
  24. If the import was success, erase the CSV file, which contains your passwords
  25. in clear text.
  26. Upgrading from version 0.6 or later:
  27. ------------------------------------
  28. Once again the latest release (version 0.9) breaks compatibility with earlier
  29. versions. As a user you might consider this an annoyance, which is understandable.
  30. However, older Pwman3 version used a very old cryptography library which is
  31. no longer actively maintained. With the migration of the code base to use
  32. the cryptography_ library, there was a necessary change of the underlying
  33. encryption algorithm. AES encryption with ECB mode was the old algorithm used,
  34. which is by now considered outdated, and it was replaced with Fernet encryption
  35. which is considered best practice.
  36. To upgrade, follow the path described above to export your database to a CSV,
  37. and the import it.
  38. A Note about Python versions
  39. ----------------------------
  40. Earlier versions of Pwman3 supported both Python2 and Python3 versions. This
  41. created a bit of an effort for maintaining version compatablity, and served
  42. as a migration path for future versions. Python 3 has been around now for quite
  43. a while, and soon enough, Python2 support will end. Python 3 is mature enough,
  44. and offers many improvements for developers. Python 3.4 is included in all major
  45. modern Linux distributions.
  46. If you use a certain enterprise Linux versions which does not ship Python 3.3
  47. or later, the process for installing a newer Python versions is pretty straight
  48. forward and very well documented. You should opt for using newer Python versions
  49. for all your software if possible.
  50. If you want to learn more about why Python 3, see the following `Python3 statement`_
  51. Database versions
  52. -----------------
  53. The current version of Pwman3 is tested with Postgresql-9.3, MySQL-5.5,
  54. MongoDB 2.6.X and SQLite3.
  55. The required python drivers are:
  56. * pymysql version 0.6.6
  57. * psycopg2 version 2.6
  58. * pymongo version 2.8
  59. .. _cryptography: https://cryptography.io
  60. .. _Python3 statement: https://python3statement.github.io/