Skip to content

Pylint complains about reference to __package__ #1693

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
jendagroovy opened this issue Oct 6, 2017 · 0 comments
Closed

Pylint complains about reference to __package__ #1693

jendagroovy opened this issue Oct 6, 2017 · 0 comments

Comments

@jendagroovy
Copy link

Hi,

Steps to reproduce

# test.py
# Make relative imports work when run as CLI script
if __name__ == '__main__' and __package__ is None:
    __package__ = 'some.package'
$ python test.py && echo "ok"
ok

$ pylint test.py
No config file found, using default configuration
************* Module test
W:  3, 4: Redefining built-in '__package__' (redefined-builtin)
C:  1, 0: Missing module docstring (missing-docstring)
E:  2,30: Using variable '__package__' before assignment (used-before-assignment)

----------------------------------------------------------------------
Your code has been rated at -25.00/10 (previous run: -25.00/10, +0.00)

Current behavior

E:  2,30: Using variable '__package__' before assignment (used-before-assignment)

Expected behavior

As the __package__ is a built-in, the error should not be reported

pylint --version output

No config file found, using default configuration
pylint 1.7.4,
astroid 1.5.3
Python 2.7.10 (default, Feb  7 2017, 00:08:15)
[GCC 4.2.1 Compatible Apple LLVM 8.0.0 (clang-800.0.34)]
clrpackages pushed a commit to clearlinux-pkgs/astroid that referenced this issue Dec 20, 2017
….6.0

Ashley Whetter (1):
      Public facing node documentation

Bryce Guinta (1):
      Add transform for attr library to fix unsupported-assignment-operation false positives

Claudiu Popa (40):
      Don't crash when getting the string representation of BadUnaryOperationMessage
      Don't raise DuplicateBaseError when classes at different locations are used
      The func form of namedtuples with keywords is now understood
      Dunder class at method level is now inferred as the class of the method
      Fix indentation
      Enums created with functional syntax are now iterable. Close pylint-dev/pylint#1546
      Enums created with functional syntax are now iterable. Close pylint-dev/pylint#992
      Enum's functional form know about __members__
      Fix reconstruction of nodes for FormattedValue. Close pylint-dev/pylint#1582
      Ignore the test on <Python3.6
      namedtuple._replace expects the actual attributes to be replaced
      Disable stop-iteration-return until we'll drop support for python 2
      The result of using object.__new__ as class decorator is correctly inferred as instance
      Support AnnAssign in Enum bodies. Close #442
      Add brain tips for UUID.int
      Skip Uninferable inferred objects when inferring a Dict
      Check for both args and keyword arguments when extracting namedtuple's params. Close #450
      Remove print statement
      Ignore directories found in blacklist
      __package__ is accessible in every module. Close pylint-dev/pylint#1693
      Fix lint warnings
      lint the current directory, not the installed one
      Fix the remaining lint errors
      Run the local tests, not the installed ones, and strip the local path for coveralls
      Add ChangeLog entry
      Remove most of the copyright notices, since this file was written completely by @hippo91
      Add ChangeLog entries for @hippo91 changes
      astroid's master is 1.6
      Add pypy support for Python 3.3 in tox
      Revert "Add pypy support for Python 3.3 in tox"
      Remove file_stream since it was slated for removal for 1.6
      Fix lint
      When verifying duplicates classes in MRO, ignore on-the-fly generated classes
      Make Unknown a rhs assignable node
      Make attr.ib attributes instances of Unknown, not of Attribute
      Only mock attr.ib attributes
      Remove unreachable code
      Filter non-inferables nodes when inferring binary operations
      Add new release instructions as for pylint
      Add the release date

Hugo (4):
      Update classifiers (#453)
      Mark failing test as expected failure (#455)
      Drop support for EOL Python 3.3
      Update version comparisons after review

Michał Masłowski (1):
      Catch _NonDeducibleTypeHierarchy in inference._infer_augassign (#443)

hippo91 (8):
      Expose more objects in numpy brain tip
      Introduction of numpy.core.umath functions signatures inside numpy brain + add of a dedicated unit test
      Introduction of numpy.random.mtrand functions signatures inside numpy brain + add of a dedicated unit test
      Add of a class that wrapps the call to unittest.subTest method to handle different versions of python
      Add of encoding utf-8 declaration
      Deletion of old numpy test (replaced by a dedicated class)
      Add of copyright and simplification of the mock to try to pass python3.3 CI
      Add of decorator to skip the tests if numy module is not present

ioanatia (1):
      Fix finder for namespace packages (#440)

mathieui (1):
      Add brain_curses.py for curses attributes defined at runtime (#456)

Łukasz Rogalski (1):
      Improve understanding of collections.deque (#441)

2017-12-15 -- 1.6.0

   * When verifying duplicates classes in MRO, ignore on-the-fly generated classes

     Close pylint-dev/pylint#1706

   * Add brain tip for attrs library to prevent unsupported-assignment-operation false positives

	 Close pylint-dev/pylint#1698

   * file_stream was removed, since it was deprecated for three releases

     Instead one should use the .stream() method.

   * Vast improvements to numpy support

(NEWS truncated at 15 lines)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant