Import one class in another within same folder











up vote
0
down vote

favorite












I have a folder named 'container' which have two classes:




  1. VisitorPage.py

  2. TestMethods.py

  3. __init__.py


I want to import 'VisitorPage' in TestMethods class so I can use its methods.



I have tried following, but not succeeded yet.



from .containers import VisitorPage


Error:



from .containers import VisitorPage
ModuleNotFoundError: No module named 'tests.containers.containers'


Second scenario:



from containers import VisitorPage


Error



from containers import VisitorPage
ModuleNotFoundError: No module named 'containers'


Scenario 3:



import containers.VisitorPage


Error:



import containers.VisitorPage
ModuleNotFoundError: No module named 'containers'


Can someone please let me know the correct way to do it. Thanks










share|improve this question
























  • Wherever you're running your code, try printing the path via import sys; print(sys.path).
    – Shayn
    Nov 11 at 13:35

















up vote
0
down vote

favorite












I have a folder named 'container' which have two classes:




  1. VisitorPage.py

  2. TestMethods.py

  3. __init__.py


I want to import 'VisitorPage' in TestMethods class so I can use its methods.



I have tried following, but not succeeded yet.



from .containers import VisitorPage


Error:



from .containers import VisitorPage
ModuleNotFoundError: No module named 'tests.containers.containers'


Second scenario:



from containers import VisitorPage


Error



from containers import VisitorPage
ModuleNotFoundError: No module named 'containers'


Scenario 3:



import containers.VisitorPage


Error:



import containers.VisitorPage
ModuleNotFoundError: No module named 'containers'


Can someone please let me know the correct way to do it. Thanks










share|improve this question
























  • Wherever you're running your code, try printing the path via import sys; print(sys.path).
    – Shayn
    Nov 11 at 13:35















up vote
0
down vote

favorite









up vote
0
down vote

favorite











I have a folder named 'container' which have two classes:




  1. VisitorPage.py

  2. TestMethods.py

  3. __init__.py


I want to import 'VisitorPage' in TestMethods class so I can use its methods.



I have tried following, but not succeeded yet.



from .containers import VisitorPage


Error:



from .containers import VisitorPage
ModuleNotFoundError: No module named 'tests.containers.containers'


Second scenario:



from containers import VisitorPage


Error



from containers import VisitorPage
ModuleNotFoundError: No module named 'containers'


Scenario 3:



import containers.VisitorPage


Error:



import containers.VisitorPage
ModuleNotFoundError: No module named 'containers'


Can someone please let me know the correct way to do it. Thanks










share|improve this question















I have a folder named 'container' which have two classes:




  1. VisitorPage.py

  2. TestMethods.py

  3. __init__.py


I want to import 'VisitorPage' in TestMethods class so I can use its methods.



I have tried following, but not succeeded yet.



from .containers import VisitorPage


Error:



from .containers import VisitorPage
ModuleNotFoundError: No module named 'tests.containers.containers'


Second scenario:



from containers import VisitorPage


Error



from containers import VisitorPage
ModuleNotFoundError: No module named 'containers'


Scenario 3:



import containers.VisitorPage


Error:



import containers.VisitorPage
ModuleNotFoundError: No module named 'containers'


Can someone please let me know the correct way to do it. Thanks







python python-3.x






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Nov 11 at 13:23









Holt

24.6k64991




24.6k64991










asked Nov 11 at 13:05









Uz_IT

11




11












  • Wherever you're running your code, try printing the path via import sys; print(sys.path).
    – Shayn
    Nov 11 at 13:35




















  • Wherever you're running your code, try printing the path via import sys; print(sys.path).
    – Shayn
    Nov 11 at 13:35


















Wherever you're running your code, try printing the path via import sys; print(sys.path).
– Shayn
Nov 11 at 13:35






Wherever you're running your code, try printing the path via import sys; print(sys.path).
– Shayn
Nov 11 at 13:35














1 Answer
1






active

oldest

votes

















up vote
1
down vote













The error is telling you the problem. Both VisitorPage and TestMethods are in the folder containers. Using . refers to the current module. Using .containers means you are searching for a module containers within containers.



My guess is your project structure is



containers/
|- VisitorPage.py
|- TestMethods.py


If that is the case, then inside TestMethods.py, just



import VisitorPage


Otherwise, you need to put containers in a directory so that your directory structure is



project/    
|-containers/
|- VisitorPage.py
|- TestMethods.py


where project is the root directory.



So inside TestMethods.py, you import VisitorPage using relative import



from . import VisitorPage


or if you want to use absolute import



from containers import VisitorPage





share|improve this answer























    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',
    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%2f53249027%2fimport-one-class-in-another-within-same-folder%23new-answer', 'question_page');
    }
    );

    Post as a guest















    Required, but never shown

























    1 Answer
    1






    active

    oldest

    votes








    1 Answer
    1






    active

    oldest

    votes









    active

    oldest

    votes






    active

    oldest

    votes








    up vote
    1
    down vote













    The error is telling you the problem. Both VisitorPage and TestMethods are in the folder containers. Using . refers to the current module. Using .containers means you are searching for a module containers within containers.



    My guess is your project structure is



    containers/
    |- VisitorPage.py
    |- TestMethods.py


    If that is the case, then inside TestMethods.py, just



    import VisitorPage


    Otherwise, you need to put containers in a directory so that your directory structure is



    project/    
    |-containers/
    |- VisitorPage.py
    |- TestMethods.py


    where project is the root directory.



    So inside TestMethods.py, you import VisitorPage using relative import



    from . import VisitorPage


    or if you want to use absolute import



    from containers import VisitorPage





    share|improve this answer



























      up vote
      1
      down vote













      The error is telling you the problem. Both VisitorPage and TestMethods are in the folder containers. Using . refers to the current module. Using .containers means you are searching for a module containers within containers.



      My guess is your project structure is



      containers/
      |- VisitorPage.py
      |- TestMethods.py


      If that is the case, then inside TestMethods.py, just



      import VisitorPage


      Otherwise, you need to put containers in a directory so that your directory structure is



      project/    
      |-containers/
      |- VisitorPage.py
      |- TestMethods.py


      where project is the root directory.



      So inside TestMethods.py, you import VisitorPage using relative import



      from . import VisitorPage


      or if you want to use absolute import



      from containers import VisitorPage





      share|improve this answer

























        up vote
        1
        down vote










        up vote
        1
        down vote









        The error is telling you the problem. Both VisitorPage and TestMethods are in the folder containers. Using . refers to the current module. Using .containers means you are searching for a module containers within containers.



        My guess is your project structure is



        containers/
        |- VisitorPage.py
        |- TestMethods.py


        If that is the case, then inside TestMethods.py, just



        import VisitorPage


        Otherwise, you need to put containers in a directory so that your directory structure is



        project/    
        |-containers/
        |- VisitorPage.py
        |- TestMethods.py


        where project is the root directory.



        So inside TestMethods.py, you import VisitorPage using relative import



        from . import VisitorPage


        or if you want to use absolute import



        from containers import VisitorPage





        share|improve this answer














        The error is telling you the problem. Both VisitorPage and TestMethods are in the folder containers. Using . refers to the current module. Using .containers means you are searching for a module containers within containers.



        My guess is your project structure is



        containers/
        |- VisitorPage.py
        |- TestMethods.py


        If that is the case, then inside TestMethods.py, just



        import VisitorPage


        Otherwise, you need to put containers in a directory so that your directory structure is



        project/    
        |-containers/
        |- VisitorPage.py
        |- TestMethods.py


        where project is the root directory.



        So inside TestMethods.py, you import VisitorPage using relative import



        from . import VisitorPage


        or if you want to use absolute import



        from containers import VisitorPage






        share|improve this answer














        share|improve this answer



        share|improve this answer








        edited Nov 11 at 14:15

























        answered Nov 11 at 13:30









        lightalchemist

        6,56233248




        6,56233248






























            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.





            Some of your past answers have not been well-received, and you're in danger of being blocked from answering.


            Please pay close attention to the following guidance:


            • 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%2f53249027%2fimport-one-class-in-another-within-same-folder%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

            Coverage of Google Street View

            Full-time equivalent

            Surfing