Why is “attempted relative import beyond top-level package” ValueError, not ImportError? The Next CEO of Stack OverflowHow to import a module in Python with importlib.import_moduleHow to fix “Attempted relative import in non-package” even with __init__.pyPython import module from sibling folderHow to import this packages? Relative import in python3.3beyond top level package error in relative importpy2exe ValueError: attempted relative import beyond top-level packageImportError: DLL load failed: The specified module could not be found. While attempting to import TensorFlowPEP 328 “Relative import beyond top level package”attempted relative import beyond top-level package message in PyCharm onlyHow to resolve “ValueError: attempted relative import beyond top-level package”

RigExpert AA-35 - Interpreting The Information

Where does this common spurious transmission come from? Is there a quality difference?

Example of a Mathematician/Physicist whose Other Publications during their PhD eclipsed their PhD Thesis

How many extra stops do monopods offer for tele photographs?

Can MTA send mail via a relay without being told so?

Would this house-rule that treats advantage as a +1 to the roll instead (and disadvantage as -1) and allows them to stack be balanced?

Legal workarounds for testamentary trust perceived as unfair

Find non-case sensitive string in a mixed list of elements?

Why does standard notation not preserve intervals (visually)

How do I align (1) and (2)?

What was the first Unix version to run on a microcomputer?

Is a distribution that is normal, but highly skewed considered Gaussian?

Is it convenient to ask the journal's editor for two additional days to complete a review?

TikZ: How to reverse arrow direction without switching start/end point?

Why the difference in type-inference over the as-pattern in two similar function definitions?

Is it possible to use a NPN BJT as switch, from single power source?

Would a completely good Muggle be able to use a wand?

Can a Bladesinger Wizard use Bladesong with a Hand Crossbow?

Why is my new battery behaving weirdly?

Method for adding error messages to a dictionary given a key

Easy to read palindrome checker

Why isn't the Mueller report being released completely and unredacted?

How to prove a simple equation?

What happened in Rome, when the western empire "fell"?



Why is “attempted relative import beyond top-level package” ValueError, not ImportError?



The Next CEO of Stack OverflowHow to import a module in Python with importlib.import_moduleHow to fix “Attempted relative import in non-package” even with __init__.pyPython import module from sibling folderHow to import this packages? Relative import in python3.3beyond top level package error in relative importpy2exe ValueError: attempted relative import beyond top-level packageImportError: DLL load failed: The specified module could not be found. While attempting to import TensorFlowPEP 328 “Relative import beyond top level package”attempted relative import beyond top-level package message in PyCharm onlyHow to resolve “ValueError: attempted relative import beyond top-level package”










2















When I do a relative import beyond the top level package, I get an exception — no surprise there. But why is it a ValueError and not an ImportError?



$ find .
.
./b
./b/c.py
./b/__init__.py
./a.py
$ cat a.py
import b.c
$ cat b/c.py
from .. import time_machine
$ python a.py
Traceback (most recent call last):
File "a.py", line 1, in <module>
import b.c
File "/tmp/a/b/c.py", line 1, in <module>
from .. import time_machine
ValueError: Attempted relative import beyond toplevel package


I would have expected an ImportError, because this exception is related to importing packages, and that normally gives ImportError (or its subclass ModuleNotFoundError). What is the rationale here?










share|improve this question






















  • I suspect that the rationale is that the value being passed to the import machinery illegal, hence ValueError. If the value was legal but the module unimportable or didn't exist you'd get an ImportError.

    – snakecharmerb
    Mar 8 at 7:59















2















When I do a relative import beyond the top level package, I get an exception — no surprise there. But why is it a ValueError and not an ImportError?



$ find .
.
./b
./b/c.py
./b/__init__.py
./a.py
$ cat a.py
import b.c
$ cat b/c.py
from .. import time_machine
$ python a.py
Traceback (most recent call last):
File "a.py", line 1, in <module>
import b.c
File "/tmp/a/b/c.py", line 1, in <module>
from .. import time_machine
ValueError: Attempted relative import beyond toplevel package


I would have expected an ImportError, because this exception is related to importing packages, and that normally gives ImportError (or its subclass ModuleNotFoundError). What is the rationale here?










share|improve this question






















  • I suspect that the rationale is that the value being passed to the import machinery illegal, hence ValueError. If the value was legal but the module unimportable or didn't exist you'd get an ImportError.

    – snakecharmerb
    Mar 8 at 7:59













2












2








2








When I do a relative import beyond the top level package, I get an exception — no surprise there. But why is it a ValueError and not an ImportError?



$ find .
.
./b
./b/c.py
./b/__init__.py
./a.py
$ cat a.py
import b.c
$ cat b/c.py
from .. import time_machine
$ python a.py
Traceback (most recent call last):
File "a.py", line 1, in <module>
import b.c
File "/tmp/a/b/c.py", line 1, in <module>
from .. import time_machine
ValueError: Attempted relative import beyond toplevel package


I would have expected an ImportError, because this exception is related to importing packages, and that normally gives ImportError (or its subclass ModuleNotFoundError). What is the rationale here?










share|improve this question














When I do a relative import beyond the top level package, I get an exception — no surprise there. But why is it a ValueError and not an ImportError?



$ find .
.
./b
./b/c.py
./b/__init__.py
./a.py
$ cat a.py
import b.c
$ cat b/c.py
from .. import time_machine
$ python a.py
Traceback (most recent call last):
File "a.py", line 1, in <module>
import b.c
File "/tmp/a/b/c.py", line 1, in <module>
from .. import time_machine
ValueError: Attempted relative import beyond toplevel package


I would have expected an ImportError, because this exception is related to importing packages, and that normally gives ImportError (or its subclass ModuleNotFoundError). What is the rationale here?







python package importerror valueerror relative-import






share|improve this question













share|improve this question











share|improve this question




share|improve this question










asked Mar 7 at 16:32









gerritgerrit

7,57054792




7,57054792












  • I suspect that the rationale is that the value being passed to the import machinery illegal, hence ValueError. If the value was legal but the module unimportable or didn't exist you'd get an ImportError.

    – snakecharmerb
    Mar 8 at 7:59

















  • I suspect that the rationale is that the value being passed to the import machinery illegal, hence ValueError. If the value was legal but the module unimportable or didn't exist you'd get an ImportError.

    – snakecharmerb
    Mar 8 at 7:59
















I suspect that the rationale is that the value being passed to the import machinery illegal, hence ValueError. If the value was legal but the module unimportable or didn't exist you'd get an ImportError.

– snakecharmerb
Mar 8 at 7:59





I suspect that the rationale is that the value being passed to the import machinery illegal, hence ValueError. If the value was legal but the module unimportable or didn't exist you'd get an ImportError.

– snakecharmerb
Mar 8 at 7:59












0






active

oldest

votes












Your Answer






StackExchange.ifUsing("editor", function ()
StackExchange.using("externalEditor", function ()
StackExchange.using("snippets", function ()
StackExchange.snippets.init();
);
);
, "code-snippets");

StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "1"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);

StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);

else
createEditor();

);

function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);



);













draft saved

draft discarded


















StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f55048645%2fwhy-is-attempted-relative-import-beyond-top-level-package-valueerror-not-impo%23new-answer', 'question_page');

);

Post as a guest















Required, but never shown

























0






active

oldest

votes








0






active

oldest

votes









active

oldest

votes






active

oldest

votes















draft saved

draft discarded
















































Thanks for contributing an answer to Stack Overflow!


  • Please be sure to answer the question. Provide details and share your research!

But avoid


  • Asking for help, clarification, or responding to other answers.

  • Making statements based on opinion; back them up with references or personal experience.

To learn more, see our tips on writing great answers.




draft saved


draft discarded














StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f55048645%2fwhy-is-attempted-relative-import-beyond-top-level-package-valueerror-not-impo%23new-answer', 'question_page');

);

Post as a guest















Required, but never shown





















































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown

































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown







Popular posts from this blog

AWS Lex not identifying response if by a variable The 2019 Stack Overflow Developer Survey Results Are In Announcing the arrival of Valued Associate #679: Cesar Manara Planned maintenance scheduled April 17/18, 2019 at 00:00UTC (8:00pm US/Eastern) The Ask Question Wizard is Live! Data science time! April 2019 and salary with experienceEnforcing custom enumeration in AWS LEX for slot valuesHow to give response based on user response in Amazon Lex?Intercepting AWS Lambda Response to a AWS Lex QueryLex chat bot error: Reached second execution of fulfillment lambda on the same utteranceamazon lex showing invalid responseLambda response send back to Lex slot?Response card in Amazon lexAmazon Lex - Lambda response return HTML to botHow can I solve 424 (Failed Dependency) (python) obtained from Amazon lex?

Алба-Юлія

Захаров Федір Захарович