Collecting vsc-install==0.11.0 1 location(s) to search for versions of vsc-install: * https://pypi.python.org/simple/vsc-install/ Getting page https://pypi.python.org/simple/vsc-install/ Analyzing links from page https://pypi.org/simple/vsc-install/ Found link https://files.pythonhosted.org/packages/bf/fd/c157ef76d4cef527610493b2784ebed9697ece3546f513e732eead1c394d/vsc-install-0.9.3.tar.gz#sha256=ebbc5a389be3220f2aff06a699093d2a23bd155be5a6cac579d035923f4b3eab (from https://pypi.org/simple/vsc-install/), version: 0.9.3 Found link https://files.pythonhosted.org/packages/54/37/024b515060dedee2f26f5dc2b85a52a89ae445658cb527b1a5c3cd9bac87/vsc-install-0.9.6.tar.gz#sha256=0fe0da409ce20d89572b65809f7214e328fe0ce2a903afa55e0a491a231a1df1 (from https://pypi.org/simple/vsc-install/), version: 0.9.6 Found link https://files.pythonhosted.org/packages/1f/03/14ac4518bb4912bf2974c03f2ae570b9caf0aa81ce7696860bde93dede27/vsc-install-0.9.12.tar.gz#sha256=75f819946724d45ccd82ff6083b3c3e4d98922676657efc9469f8f06a9ab3e33 (from https://pypi.org/simple/vsc-install/), version: 0.9.12 Found link https://files.pythonhosted.org/packages/77/ac/6ba45999c334b45f27bf6a1b605a43e60bfaac1d1ae0f4aa033482596224/vsc-install-0.9.18.tar.gz#sha256=3320bd4c78cfb2449e54a05e8164107493fc78df0fb934091c0a8ea90c350b6a (from https://pypi.org/simple/vsc-install/), version: 0.9.18 Found link https://files.pythonhosted.org/packages/64/ff/d06467131a36bad417f420b7395261f1081163933a86a2ca5a97f2a1e5f1/vsc-install-0.9.19.tar.gz#sha256=0c9b24edcd850b06f3db1a608904d55018d42f5059e3ff59ad29aa40f9fd0e20 (from https://pypi.org/simple/vsc-install/), version: 0.9.19 Found link https://files.pythonhosted.org/packages/43/a8/4ee40e8f4ac74107e5a56748ee6ea32bc5e73f521ccf04808fdd017ada6b/vsc-install-0.9.21.tar.gz#sha256=8e974831052252298a27401ce85c0dacf3c2daca49cb7f141cbe18e98da91ec2 (from https://pypi.org/simple/vsc-install/), version: 0.9.21 Found link https://files.pythonhosted.org/packages/ab/59/51dbad508d4b441f9c21772f0e5ef8fc4f85ac292429091a930a26820105/vsc-install-0.10.2.tar.gz#sha256=c716621f262f44acd62ba0d20ef7f0ba760466df83eb7ec9fa4197d9ebfc293a (from https://pypi.org/simple/vsc-install/), version: 0.10.2 Found link https://files.pythonhosted.org/packages/18/7a/c983e61bb91687ad74faab0edd7471b5e78f12cf3c71087581eedc6dd9e5/vsc-install-0.10.6.tar.gz#sha256=f101729ed6a11fb4c971e1fe19dceaf3782c0d7c9aa8c54b27ef3ba4660860f2 (from https://pypi.org/simple/vsc-install/), version: 0.10.6 Found link https://files.pythonhosted.org/packages/9a/35/60ed9238f7c2154176a09330019011b2ec161bc048540e795c611bd52ae2/vsc-install-0.10.9.tar.gz#sha256=90f2c094b533ac6a99bb40900503e7da8c2e4d2fc8515057f0bbf3f570362461 (from https://pypi.org/simple/vsc-install/), version: 0.10.9 Found link https://files.pythonhosted.org/packages/36/f3/37e94174235e5ec5ae6433891f9d1a32f8bc2f8daf16dc8d179dd92a2dfe/vsc-install-0.10.10.tar.gz#sha256=05e0c34fccd5ab82bcffe394c074d795c232c1735213739644852b319f61b93c (from https://pypi.org/simple/vsc-install/), version: 0.10.10 Found link https://files.pythonhosted.org/packages/03/d0/291da76d7da921cf8e70dd7db79b0838e0f633655e8f2dd06093d99ce851/vsc-install-0.10.11.tar.gz#sha256=1938df49acf8de0b5b5b6c4e4362bef031f3b4359123a2b6a03e2b42e7f1ed21 (from https://pypi.org/simple/vsc-install/), version: 0.10.11 Found link https://files.pythonhosted.org/packages/44/b6/ebbb5d29d81dd131e2b13f0e1026474f1b95a52e0072e88954809a017072/vsc-install-0.10.13.tar.gz#sha256=41ad822f53c282894d5b9215cc9f9903b9ef928b3070f260646d978a7f0d2829 (from https://pypi.org/simple/vsc-install/), version: 0.10.13 Found link https://files.pythonhosted.org/packages/0e/83/4ed8215c5b27ba4ee4a6da3d43ce9579b67c5fe7a91f33f48991f878db13/vsc-install-0.10.15.tar.gz#sha256=ad9d2127fba527e4fa8c91882c7fbc09531dfbb8b22c8f22f59f13022c526bc6 (from https://pypi.org/simple/vsc-install/), version: 0.10.15 Found link https://files.pythonhosted.org/packages/75/80/7ab6b2d9e93b19b6aac4c1b700a99e5898a11da49fc439c4b8fc861375d1/vsc-install-0.10.17.tar.gz#sha256=71498db975015a2b2c6a977bb9e80964a0573b960023ac8070b429c02a4ef57f (from https://pypi.org/simple/vsc-install/), version: 0.10.17 Found link https://files.pythonhosted.org/packages/4a/1c/abb1bcd09523a7c9d52e2703f67dec4807751674c13be17e89a7602677b0/vsc-install-0.10.19.tar.gz#sha256=e7cabe1a8f39663a70b09619c0fa5a81ead9294e99837c17628608159c721ef2 (from https://pypi.org/simple/vsc-install/), version: 0.10.19 Found link https://files.pythonhosted.org/packages/9c/fa/648c7484cef36f752a41f7a3d8ef1db7ed7741b0440eae87694b7de835ae/vsc-install-0.10.20.tar.gz#sha256=63c6b5268c1287c2161d802991ff6c0fac8884ace97c62da7d3f6e390a64dc39 (from https://pypi.org/simple/vsc-install/), version: 0.10.20 Found link https://files.pythonhosted.org/packages/aa/d9/7dc5b88a5644975683b4df1d0a16be90f6af4598528aa68dba27f7f3c532/vsc-install-0.10.21.tar.gz#sha256=87241e60ea64d98006c5aac33f69db82521afb3e19a4b1e0cb3d241782ebe212 (from https://pypi.org/simple/vsc-install/), version: 0.10.21 Found link https://files.pythonhosted.org/packages/94/54/611cb71c61aae9833ee87e7d86768e9a86b411afe9f608c15e267fe7a986/vsc-install-0.10.22.tar.gz#sha256=c128c98dd173c9a0d52e1e6c228a4aff6ed4fe20cd244acf72abf08ae198f430 (from https://pypi.org/simple/vsc-install/), version: 0.10.22 Found link https://files.pythonhosted.org/packages/01/90/8edf6ca2d9185fe1512f7da91eceeca3122daeafced7289beaf144dbabef/vsc-install-0.10.23.tar.gz#sha256=99511d09bc333b2cb56640e3103f7e8e2ae9f60971cda0325f8e51117db40ad4 (from https://pypi.org/simple/vsc-install/), version: 0.10.23 Found link https://files.pythonhosted.org/packages/1c/9d/ab7d449602c7053b4fec37b555b491da0ed06ac8cb1672b6edade4f37a75/vsc-install-0.10.24.tar.gz#sha256=01eb5cdad16bd4be4959eb6da49bd1200cffd7963b87a5c5b392bc59099818cf (from https://pypi.org/simple/vsc-install/), version: 0.10.24 Found link https://files.pythonhosted.org/packages/ef/c7/640c6d791ba452321c0d1371b6626486bb495e0645bb896d33c78a09f810/vsc-install-0.10.25.tar.gz#sha256=744fa52b45577251d94e9298ecb115afd295f2530eba64c524f469b5e283f19c (from https://pypi.org/simple/vsc-install/), version: 0.10.25 Found link https://files.pythonhosted.org/packages/82/ec/19d85d2bb91b562195d00db9ac82d7529904e7eabc0597720966bf74714f/vsc-install-0.10.26.tar.gz#sha256=f97b5ca8b171964c12347e5b814ae5266698f5ea134056f04ff752a1eb562f30 (from https://pypi.org/simple/vsc-install/), version: 0.10.26 Found link https://files.pythonhosted.org/packages/a4/ef/eb43a154161abb736b596b22494dc40710a81242920222ca7252a816c9ff/vsc-install-0.10.27.tar.gz#sha256=1b152fcd494a72b24d575beece209c3018833a909aa8842267c6f56183872624 (from https://pypi.org/simple/vsc-install/), version: 0.10.27 Found link https://files.pythonhosted.org/packages/37/4b/ff6409ac33f0440e47b940efa027423e38551618a10199b39022652f2c46/vsc-install-0.10.29.tar.gz#sha256=af87b05fb1f05cac82268884ed8c71c05bac6b3913544ae21750e700b691d901 (from https://pypi.org/simple/vsc-install/), version: 0.10.29 Found link https://files.pythonhosted.org/packages/7a/8c/c67e08a05b6585604f56cebc41158a8d5f070a97596d1ead2732a5fbe03f/vsc-install-0.10.31.tar.gz#sha256=b8478624e4758ea7e1f449f67f0ff33b40deb23b1eee071d198a12cc8c748b79 (from https://pypi.org/simple/vsc-install/), version: 0.10.31 Found link https://files.pythonhosted.org/packages/5d/ca/1c41be2964be1355e15b4a88c7eef11c13c621220e27b69b2686c23cace2/vsc-install-0.10.32.tar.gz#sha256=56f614328451d924aeb9ece0b53552b1f3c247d723e741794aa201762af61b64 (from https://pypi.org/simple/vsc-install/), version: 0.10.32 Found link https://files.pythonhosted.org/packages/81/21/7c4e9359f740b223e57c77c5757136bfb98c9f3c66b53d84c3c136c9995d/vsc-install-0.11.0.tar.gz#sha256=fa080cde728f8cc672a5751e5ac28177e8ffe7f388028813f7bc880c8831451e (from https://pypi.org/simple/vsc-install/), version: 0.11.0 Using version 0.11.0 (newest of versions: 0.11.0) Downloading https://files.pythonhosted.org/packages/81/21/7c4e9359f740b223e57c77c5757136bfb98c9f3c66b53d84c3c136c9995d/vsc-install-0.11.0.tar.gz (62kB) Downloading from URL https://files.pythonhosted.org/packages/81/21/7c4e9359f740b223e57c77c5757136bfb98c9f3c66b53d84c3c136c9995d/vsc-install-0.11.0.tar.gz#sha256=fa080cde728f8cc672a5751e5ac28177e8ffe7f388028813f7bc880c8831451e (from https://pypi.org/simple/vsc-install/) Running setup.py (path:/tmp/pip-build-3xsselyo/vsc-install/setup.py) egg_info for package vsc-install Running command python setup.py egg_info INFO: This is (based on) vsc.install.shared_setup 0.11.00 INFO: run_tests from base dir /tmp/pip-build-3xsselyo/vsc-install (using executable /tmp/pip-build-3xsselyo/vsc-install/-c) WARN: cleanup lib/vsc_install.egg-info INFO: initial packages list: dict_keys(['vsc', 'vsc.install']) INFO: generated list: dict_keys(['vsc', 'vsc.install']) INFO: generated packages list: dict_keys(['vsc', 'vsc.install']) INFO: makesetupcfg set to True, (re)creating setup.cfg INFO: found license /tmp/pip-build-3xsselyo/vsc-install/LICENSE with md5sum 5f30f0716dfdd0d91eb439ebec522ec2 INFO: Found license name LGPLv2+ and classifier License :: OSI Approved :: GNU Lesser General Public License v2 or later (LGPLv2+) INFO: setting license LGPLv2+ INFO: found match url https://github.com/hpcugent/vsc-install in /tmp/pip-build-3xsselyo/vsc-install/PKG-INFO INFO: found match name vsc-install in /tmp/pip-build-3xsselyo/vsc-install/PKG-INFO INFO: Removing None download_url INFO: get_name_url returns {'url': 'https://github.com/hpcugent/vsc-install', 'name': 'vsc-install'} INFO: using long_description vsc-install provides shared setuptools functions and classes for python libraries developed by UGent's HPC group INFO: generated list: ['bin/python-noenv.sh', 'bin/python-stripped-env'] INFO: generated scripts list: ['bin/python-noenv.sh', 'bin/python-stripped-env'] INFO: adding prospector to tests_require {'author': 'Stijn De Weirdt;Andy Georges;Jens Timmerman', 'install_requires': ['setuptools'], 'scripts': ['bin/python-noenv.sh', 'bin/python-stripped-env'], 'dependency_links': [], 'package_dir': {'': 'lib'}, 'license': 'LGPLv2+', 'maintainer': 'Stijn De Weirdt;Andy Georges;Jens Timmerman', 'setup_requires': ['setuptools'], 'command_packages': ['vsc.install.shared_setup', 'shared_setup_dist_only', 'setuptools.command', 'distutils.command'], 'version': '0.11.00', 'long_description': 'Description\n===========\nvsc-install provides shared setuptools functions and classes for python libraries developed by UGent\'s HPC group\n\nCommon pitfalls\n=========\nbdist_rpm will fail if your install_requires = \'setuptools\' because it will fail to find a setuptools rpm.\n```\nexport VSC_RPM_PYTHON=1\n```\nwill make sure the `python-` prefix is added to the packages in install_requires for building RPM\'s so python-setuptools will be used.\n\nAdd tests\n=========\n\nTest are python modules in the `test` directory which have subclass of `TestCase`\nand at least one method that has a name starting with `test_`\n\nYou are advised to use\n```python\nfrom vsc.install.testing import TestCase\n```\n(instead of basic `TestCase` from `unittest`).\n\nAnd any `__main__` or `suite()` is not needed (anymore).\n\nInitialise the test directory with\n\n```bash\nmkdir -p test\necho \'\' > test/__init__.py\necho \'from vsc.install.commontest import CommonTest\' > test/00-import.py\n```\n\nWhen the tests are run, `test`, `lib` and `bin` (if relevant) are added to `sys.path`,\nso no need to do so in the tets modules.\n\nRun tests\n=========\n\n```bash\npython setup.py test\n```\n\nFilter tests with `-F` (test module names) and `-f` (test method names)\n\nSee also\n\n```bash\npython setup.py test --help\n```\n\nIn case following error occurs, it means there is a test module `XYZ` that cannot be imported.\n\n```txt\nFile "setup.py", line 499, in loadTestsFromModule\n testsuites = ScanningLoader.loadTestsFromModule(self, module)\nFile "build/bdist.linux-x86_64/egg/setuptools/command/test.py", line 37, in loadTestsFromModule\nFile "/usr/lib64/python2.7/unittest/loader.py", line 100, in loadTestsFromName\n parent, obj = obj, getattr(obj, part)\nAttributeError: \'module\' object has no attribute \'XYZ\'\n```\n\nYou can try get the actual import error for fixing the issue with\n```bash\npython -c \'import sys;sys.path.insert(0, "test");import XYZ;\'\n```\n\nFix failing tests\n=================\n\n* Missing / incorrect `LICENSE`\n\n * Copy the appropirate license file under `known_licenses` in the project directory and name the file `LICENSE`\n\n* Missing `README.md`\n\n * Create a `README.md` file with at least a `Description` section\n\n* Fix license headers as described in https://github.com/hpcugent/vsc-install/blob/master/lib/vsc/install/headers.py\n\n ```\n cd \n REPO_BASE_DIR=$PWD python -m vsc.install.headers path/to/file script_or_not\n ```\n\n Fix them all at once using find\n\n ```\n find ./{lib,test} -type f -name \'*.py\' | REPO_BASE_DIR=$PWD xargs -I \'{}\' python -m vsc.install.headers \'{}\'\n find ./bin -type f -name \'*.py\' | REPO_BASE_DIR=$PWD xargs -I \'{}\' python -m vsc.install.headers \'{}\' 1\n ```\n\n Do not forget to check the diff\n* Python scripts (i.e. with a python shebang and installed as scripts in setup) have to use `#!/usr/bin/env python` as shebang\n* Remove any `build_rpms_settings.sh` leftovers\n* The `TARGET` dict in `setup.py` should be minimal unless you really know what you are doing (i.e. if it is truly different from defaults)\n\n * Remove `name`, `scripts`, ...\n\n* `Exception: vsc namespace packages do not allow non-shared namespace`\n\n * Add to the `__init__.py`\n\n ```python\n """\n Allow other packages to extend this namespace, zip safe setuptools style\n """\n import pkg_resources\n pkg_resources.declare_namespace(__name__)\n ```\n\n\nbare-except\n-----------\n```python\ntry:\n # something\nexcept:\n```\nThis is bad, because this except will also catch sys.exit() or Keyboardinterupts, something you\ntypically do not want, if you catch these the program will be in a weird state and then continue on,\nwhilst the person who just pressed ctrl+c is wondering what is going on and why it is not stopping.\n\nso at the very least make this\nexcept Exception (which doesn\'t catch sys.exit and KeyboardInterupt)\nand it would be appreciated if you could actually figure out what exceptions to expect and only catch those\nand let your program crash if something you did not intend happens\nbecause it helps developers catch weird errors on their side better.\n\nif you do something like\n```python\ntry:\n open(int(somestring)).write(\'important data\')\nexcept Exception:\n pass # if somestring is not an integer, we didn\'t need to write anyway, but otherwise we do\n```\nbecause you know sometimes this string does not contain an integer, so the int() call can fail\nyou should really only catch ValueError, because this will also fail when your disk is full, or you don\'t have permissions\nor xxx other reasons, and the important data will not be written out and nobody will notice anything!\n\n\n\nif not \'a\' in somelist -> if \'a\' not in somelist\n-------------------------------------------------\n\nthis isn\'t that big of a deal, but if everyone is consistent it\'s less likely to introduce bugs when a not is added or removed where it didn\'t need to.\nAlso helps code review, not in reads better, like english.\n\n\narguments-differ\n-----------------\n\nthis will give you errors if you override a function of a superclass but don\'t use the same amount of arguments,\nusing less will surely give you errors, so the linter catches this for you now\n\nunused-argument\n-----------------\nif you have a function definition witch accepts an argument that is never used in the function body this will now give an error.\nclean up your function definition, or fix the error where you actually do need to take this argument into account\n\nunused-variable\n----------------\ndefining a variable and then not using it anymore smells bad, why did you do that?\nsometimes you do things like\n```python\nout, exit_code = run_command(something)\n```\nbut you are not interested in the out, only in the exit code,\nin this case, write\n```python\n_, exit_code = run_command(something)\n```\n\nusing _ as a variable name lets pylint and other readers know you do not intend to use that output in the first place.\n\n\nreimported\n-------------\nwhen you re import a name somewhere else,\nusually this is just an import to much, or 2 imports with the same name, pay attention.\n```python\nimport six\nfrom django import six\n```\n=>\n```python\nimport six\nfrom django import six as django_six\n```\n\nredefinition of unused name\n----------------------------\nthis usually also points to something you did not expect\n```python\nfrom vsc.accountpageclient import VscGroup\n\n\nclass VscGroup(object):\n pass\n```\n\n=> do you need the import? use import as\ndid you mean to use the same name? ...\n\nunpacking-in-except / redefine-in-handler\n-----------------------------------------\n\nMultiple exception have to be grouped in a tuple like\n\n```python\n ...\nexcept (ExceptionOne, ExceptionTwo) ...\n ...\n```\n\n(espcially when used like `except A, B:` which should be `except (A, B):`.\n\nturning off these errors\n-------------------------\n\nIf in any of these cases you think: yes, I really needed to do this,\nI\'m monkeypatching things, I\'m adding extra functionality that does indeed have an extra(default) paramenter, etc, etc\nyou can let pylint know to ignore this error in this one specific block of code\nby adding e.g. the comment `# pylint: disable=`\n\n```python\nclass Something(object):\n def dosomething(self, some, thing):\n # do something\n\nclass MyFancyThing(SomeThing):\n # pylint: disable=arguments-differ\n def dosomething(self, some, thing, fancy=None):\n # do something fancy\n```\n\nFull list with all codes is available at http://pylint-messages.wikidot.com/all-codes\n', 'cmdclass': {'test': , 'bdist_rpm': , 'sdist': , 'vsc_release': , 'egg_info': , 'install_scripts': }, 'tests_require': ['prospector >= 0.12.1', 'pylint-django == 0.9.1'], 'download_url': '', 'test_suite': 'test', 'packages': dict_keys(['vsc', 'vsc.install']), 'author_email': 'stijn.deweirdt@ugent.be, andy.georges@ugent.be, jens.timmerman@ugent.be', 'namespace_packages': ['vsc'], 'classifiers': ['License :: OSI Approved :: GNU Lesser General Public License v2 or later (LGPLv2+)'], 'name': 'vsc-install', 'maintainer_email': 'stijn.deweirdt@ugent.be, andy.georges@ugent.be, jens.timmerman@ugent.be', 'url': 'https://github.com/hpcugent/vsc-install', 'description': "vsc-install provides shared setuptools functions and classes for python libraries developed by UGent's HPC group"} INFO: running egg_info INFO: run_tests from base dir /tmp/pip-build-3xsselyo/vsc-install (using executable /tmp/pip-build-3xsselyo/vsc-install/-c) INFO: creating pip-egg-info/vsc_install.egg-info INFO: writing requirements to pip-egg-info/vsc_install.egg-info/requires.txt INFO: writing top-level names to pip-egg-info/vsc_install.egg-info/top_level.txt INFO: writing namespace_packages to pip-egg-info/vsc_install.egg-info/namespace_packages.txt INFO: writing dependency_links to pip-egg-info/vsc_install.egg-info/dependency_links.txt INFO: writing pip-egg-info/vsc_install.egg-info/PKG-INFO INFO: writing manifest file 'pip-egg-info/vsc_install.egg-info/SOURCES.txt' INFO: reading manifest file 'pip-egg-info/vsc_install.egg-info/SOURCES.txt' INFO: writing manifest file 'pip-egg-info/vsc_install.egg-info/SOURCES.txt' INFO: looking for extra dist files /usr/local/lib/python3.4/dist-packages/setuptools/dist.py:352: UserWarning: Normalizing '0.11.00' to '0.11.0' normalized_version, Source in /tmp/pip-build-3xsselyo/vsc-install has version 0.11.0, which satisfies requirement vsc-install==0.11.0 from https://files.pythonhosted.org/packages/81/21/7c4e9359f740b223e57c77c5757136bfb98c9f3c66b53d84c3c136c9995d/vsc-install-0.11.0.tar.gz#sha256=fa080cde728f8cc672a5751e5ac28177e8ffe7f388028813f7bc880c8831451e Building wheels for collected packages: vsc-install Running setup.py bdist_wheel for vsc-install: started Destination directory: /tmp/tmpcaz8fhzypip-wheel- Running command /usr/bin/python3 -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-3xsselyo/vsc-install/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" bdist_wheel -d /tmp/tmpcaz8fhzypip-wheel- INFO: This is (based on) vsc.install.shared_setup 0.11.00 INFO: run_tests from base dir /tmp/pip-build-3xsselyo/vsc-install (using executable /tmp/pip-build-3xsselyo/vsc-install/-c) INFO: initial packages list: dict_keys(['vsc.install', 'vsc']) INFO: generated list: dict_keys(['vsc.install', 'vsc']) INFO: generated packages list: dict_keys(['vsc.install', 'vsc']) INFO: makesetupcfg set to True, (re)creating setup.cfg INFO: found license /tmp/pip-build-3xsselyo/vsc-install/LICENSE with md5sum 5f30f0716dfdd0d91eb439ebec522ec2 INFO: Found license name LGPLv2+ and classifier License :: OSI Approved :: GNU Lesser General Public License v2 or later (LGPLv2+) INFO: setting license LGPLv2+ INFO: found match name vsc-install in /tmp/pip-build-3xsselyo/vsc-install/PKG-INFO INFO: found match url https://github.com/hpcugent/vsc-install in /tmp/pip-build-3xsselyo/vsc-install/PKG-INFO INFO: Removing None download_url INFO: get_name_url returns {'name': 'vsc-install', 'url': 'https://github.com/hpcugent/vsc-install'} INFO: using long_description vsc-install provides shared setuptools functions and classes for python libraries developed by UGent's HPC group INFO: generated list: ['bin/python-noenv.sh', 'bin/python-stripped-env'] INFO: generated scripts list: ['bin/python-noenv.sh', 'bin/python-stripped-env'] INFO: adding prospector to tests_require {'author': 'Stijn De Weirdt;Andy Georges;Jens Timmerman', 'version': '0.11.00', 'namespace_packages': ['vsc'], 'install_requires': ['setuptools'], 'long_description': 'Description\n===========\nvsc-install provides shared setuptools functions and classes for python libraries developed by UGent\'s HPC group\n\nCommon pitfalls\n=========\nbdist_rpm will fail if your install_requires = \'setuptools\' because it will fail to find a setuptools rpm.\n```\nexport VSC_RPM_PYTHON=1\n```\nwill make sure the `python-` prefix is added to the packages in install_requires for building RPM\'s so python-setuptools will be used.\n\nAdd tests\n=========\n\nTest are python modules in the `test` directory which have subclass of `TestCase`\nand at least one method that has a name starting with `test_`\n\nYou are advised to use\n```python\nfrom vsc.install.testing import TestCase\n```\n(instead of basic `TestCase` from `unittest`).\n\nAnd any `__main__` or `suite()` is not needed (anymore).\n\nInitialise the test directory with\n\n```bash\nmkdir -p test\necho \'\' > test/__init__.py\necho \'from vsc.install.commontest import CommonTest\' > test/00-import.py\n```\n\nWhen the tests are run, `test`, `lib` and `bin` (if relevant) are added to `sys.path`,\nso no need to do so in the tets modules.\n\nRun tests\n=========\n\n```bash\npython setup.py test\n```\n\nFilter tests with `-F` (test module names) and `-f` (test method names)\n\nSee also\n\n```bash\npython setup.py test --help\n```\n\nIn case following error occurs, it means there is a test module `XYZ` that cannot be imported.\n\n```txt\nFile "setup.py", line 499, in loadTestsFromModule\n testsuites = ScanningLoader.loadTestsFromModule(self, module)\nFile "build/bdist.linux-x86_64/egg/setuptools/command/test.py", line 37, in loadTestsFromModule\nFile "/usr/lib64/python2.7/unittest/loader.py", line 100, in loadTestsFromName\n parent, obj = obj, getattr(obj, part)\nAttributeError: \'module\' object has no attribute \'XYZ\'\n```\n\nYou can try get the actual import error for fixing the issue with\n```bash\npython -c \'import sys;sys.path.insert(0, "test");import XYZ;\'\n```\n\nFix failing tests\n=================\n\n* Missing / incorrect `LICENSE`\n\n * Copy the appropirate license file under `known_licenses` in the project directory and name the file `LICENSE`\n\n* Missing `README.md`\n\n * Create a `README.md` file with at least a `Description` section\n\n* Fix license headers as described in https://github.com/hpcugent/vsc-install/blob/master/lib/vsc/install/headers.py\n\n ```\n cd \n REPO_BASE_DIR=$PWD python -m vsc.install.headers path/to/file script_or_not\n ```\n\n Fix them all at once using find\n\n ```\n find ./{lib,test} -type f -name \'*.py\' | REPO_BASE_DIR=$PWD xargs -I \'{}\' python -m vsc.install.headers \'{}\'\n find ./bin -type f -name \'*.py\' | REPO_BASE_DIR=$PWD xargs -I \'{}\' python -m vsc.install.headers \'{}\' 1\n ```\n\n Do not forget to check the diff\n* Python scripts (i.e. with a python shebang and installed as scripts in setup) have to use `#!/usr/bin/env python` as shebang\n* Remove any `build_rpms_settings.sh` leftovers\n* The `TARGET` dict in `setup.py` should be minimal unless you really know what you are doing (i.e. if it is truly different from defaults)\n\n * Remove `name`, `scripts`, ...\n\n* `Exception: vsc namespace packages do not allow non-shared namespace`\n\n * Add to the `__init__.py`\n\n ```python\n """\n Allow other packages to extend this namespace, zip safe setuptools style\n """\n import pkg_resources\n pkg_resources.declare_namespace(__name__)\n ```\n\n\nbare-except\n-----------\n```python\ntry:\n # something\nexcept:\n```\nThis is bad, because this except will also catch sys.exit() or Keyboardinterupts, something you\ntypically do not want, if you catch these the program will be in a weird state and then continue on,\nwhilst the person who just pressed ctrl+c is wondering what is going on and why it is not stopping.\n\nso at the very least make this\nexcept Exception (which doesn\'t catch sys.exit and KeyboardInterupt)\nand it would be appreciated if you could actually figure out what exceptions to expect and only catch those\nand let your program crash if something you did not intend happens\nbecause it helps developers catch weird errors on their side better.\n\nif you do something like\n```python\ntry:\n open(int(somestring)).write(\'important data\')\nexcept Exception:\n pass # if somestring is not an integer, we didn\'t need to write anyway, but otherwise we do\n```\nbecause you know sometimes this string does not contain an integer, so the int() call can fail\nyou should really only catch ValueError, because this will also fail when your disk is full, or you don\'t have permissions\nor xxx other reasons, and the important data will not be written out and nobody will notice anything!\n\n\n\nif not \'a\' in somelist -> if \'a\' not in somelist\n-------------------------------------------------\n\nthis isn\'t that big of a deal, but if everyone is consistent it\'s less likely to introduce bugs when a not is added or removed where it didn\'t need to.\nAlso helps code review, not in reads better, like english.\n\n\narguments-differ\n-----------------\n\nthis will give you errors if you override a function of a superclass but don\'t use the same amount of arguments,\nusing less will surely give you errors, so the linter catches this for you now\n\nunused-argument\n-----------------\nif you have a function definition witch accepts an argument that is never used in the function body this will now give an error.\nclean up your function definition, or fix the error where you actually do need to take this argument into account\n\nunused-variable\n----------------\ndefining a variable and then not using it anymore smells bad, why did you do that?\nsometimes you do things like\n```python\nout, exit_code = run_command(something)\n```\nbut you are not interested in the out, only in the exit code,\nin this case, write\n```python\n_, exit_code = run_command(something)\n```\n\nusing _ as a variable name lets pylint and other readers know you do not intend to use that output in the first place.\n\n\nreimported\n-------------\nwhen you re import a name somewhere else,\nusually this is just an import to much, or 2 imports with the same name, pay attention.\n```python\nimport six\nfrom django import six\n```\n=>\n```python\nimport six\nfrom django import six as django_six\n```\n\nredefinition of unused name\n----------------------------\nthis usually also points to something you did not expect\n```python\nfrom vsc.accountpageclient import VscGroup\n\n\nclass VscGroup(object):\n pass\n```\n\n=> do you need the import? use import as\ndid you mean to use the same name? ...\n\nunpacking-in-except / redefine-in-handler\n-----------------------------------------\n\nMultiple exception have to be grouped in a tuple like\n\n```python\n ...\nexcept (ExceptionOne, ExceptionTwo) ...\n ...\n```\n\n(espcially when used like `except A, B:` which should be `except (A, B):`.\n\nturning off these errors\n-------------------------\n\nIf in any of these cases you think: yes, I really needed to do this,\nI\'m monkeypatching things, I\'m adding extra functionality that does indeed have an extra(default) paramenter, etc, etc\nyou can let pylint know to ignore this error in this one specific block of code\nby adding e.g. the comment `# pylint: disable=`\n\n```python\nclass Something(object):\n def dosomething(self, some, thing):\n # do something\n\nclass MyFancyThing(SomeThing):\n # pylint: disable=arguments-differ\n def dosomething(self, some, thing, fancy=None):\n # do something fancy\n```\n\nFull list with all codes is available at http://pylint-messages.wikidot.com/all-codes\n', 'test_suite': 'test', 'author_email': 'stijn.deweirdt@ugent.be, andy.georges@ugent.be, jens.timmerman@ugent.be', 'scripts': ['bin/python-noenv.sh', 'bin/python-stripped-env'], 'setup_requires': ['setuptools'], 'url': 'https://github.com/hpcugent/vsc-install', 'classifiers': ['License :: OSI Approved :: GNU Lesser General Public License v2 or later (LGPLv2+)'], 'name': 'vsc-install', 'description': "vsc-install provides shared setuptools functions and classes for python libraries developed by UGent's HPC group", 'license': 'LGPLv2+', 'maintainer_email': 'stijn.deweirdt@ugent.be, andy.georges@ugent.be, jens.timmerman@ugent.be', 'command_packages': ['vsc.install.shared_setup', 'shared_setup_dist_only', 'setuptools.command', 'distutils.command'], 'download_url': '', 'cmdclass': {'vsc_release': , 'test': , 'bdist_rpm': , 'install_scripts': , 'sdist': , 'egg_info': }, 'dependency_links': [], 'package_dir': {'': 'lib'}, 'maintainer': 'Stijn De Weirdt;Andy Georges;Jens Timmerman', 'tests_require': ['prospector >= 0.12.1', 'pylint-django == 0.9.1'], 'packages': dict_keys(['vsc.install', 'vsc'])} /usr/local/lib/python3.4/dist-packages/setuptools/dist.py:352: UserWarning: Normalizing '0.11.00' to '0.11.0' normalized_version, INFO: running bdist_wheel INFO: running build INFO: running build_py INFO: creating build INFO: creating build/lib INFO: creating build/lib/vsc INFO: creating build/lib/vsc/install INFO: copying lib/vsc/install/testing.py -> build/lib/vsc/install INFO: copying lib/vsc/install/commontest.py -> build/lib/vsc/install INFO: copying lib/vsc/install/headers.py -> build/lib/vsc/install INFO: copying lib/vsc/install/shared_setup.py -> build/lib/vsc/install INFO: copying lib/vsc/install/__init__.py -> build/lib/vsc/install INFO: copying lib/vsc/fancylogger.py -> build/lib/vsc INFO: copying lib/vsc/__init__.py -> build/lib/vsc INFO: running build_scripts INFO: creating build/scripts-3.4 INFO: copying bin/python-noenv.sh -> build/scripts-3.4 INFO: copying bin/python-stripped-env -> build/scripts-3.4 INFO: changing mode of build/scripts-3.4/python-noenv.sh from 644 to 755 INFO: installing to build/bdist.linux-armv7l/wheel INFO: running install INFO: running install_lib INFO: copying vsc/fancylogger.py -> build/bdist.linux-armv7l/wheel/vsc WARN: Skipping installation of build/bdist.linux-armv7l/wheel/vsc/__init__.py (namespace package) INFO: copying vsc/install/testing.py -> build/bdist.linux-armv7l/wheel/vsc/install INFO: copying vsc/install/commontest.py -> build/bdist.linux-armv7l/wheel/vsc/install INFO: copying vsc/install/headers.py -> build/bdist.linux-armv7l/wheel/vsc/install INFO: copying vsc/install/shared_setup.py -> build/bdist.linux-armv7l/wheel/vsc/install INFO: copying vsc/install/__init__.py -> build/bdist.linux-armv7l/wheel/vsc/install INFO: running install_egg_info INFO: run_tests from base dir /tmp/pip-build-3xsselyo/vsc-install (using executable /tmp/pip-build-3xsselyo/vsc-install/-c) INFO: running egg_info INFO: creating lib/vsc_install.egg-info INFO: writing requirements to lib/vsc_install.egg-info/requires.txt INFO: writing top-level names to lib/vsc_install.egg-info/top_level.txt INFO: writing dependency_links to lib/vsc_install.egg-info/dependency_links.txt INFO: writing namespace_packages to lib/vsc_install.egg-info/namespace_packages.txt INFO: writing lib/vsc_install.egg-info/PKG-INFO INFO: writing manifest file 'lib/vsc_install.egg-info/SOURCES.txt' INFO: reading manifest file 'lib/vsc_install.egg-info/SOURCES.txt' INFO: writing manifest file 'lib/vsc_install.egg-info/SOURCES.txt' INFO: looking for extra dist files INFO: Copying lib/vsc_install.egg-info to build/bdist.linux-armv7l/wheel/vsc_install-0.11.0-py3.4.egg-info INFO: Installing build/bdist.linux-armv7l/wheel/vsc_install-0.11.0-py3.4-nspkg.pth INFO: running install_scripts INFO: creating build/bdist.linux-armv7l/wheel/vsc_install-0.11.0.data INFO: creating build/bdist.linux-armv7l/wheel/vsc_install-0.11.0.data/scripts INFO: copying build/scripts-3.4/python-noenv.sh -> build/bdist.linux-armv7l/wheel/vsc_install-0.11.0.data/scripts INFO: copying build/scripts-3.4/python-stripped-env -> build/bdist.linux-armv7l/wheel/vsc_install-0.11.0.data/scripts INFO: changing mode of build/bdist.linux-armv7l/wheel/vsc_install-0.11.0.data/scripts/python-noenv.sh to 755 INFO: changing mode of build/bdist.linux-armv7l/wheel/vsc_install-0.11.0.data/scripts/python-stripped-env to 755 INFO: creating build/bdist.linux-armv7l/wheel/vsc_install-0.11.0.dist-info/WHEEL Running setup.py bdist_wheel for vsc-install: finished with status 'done' Stored in directory: /tmp/tmpk_guleyg Successfully built vsc-install Cleaning up... Removing source in /tmp/pip-build-3xsselyo/vsc-install