Cannot get autocomplete to work on imported modules
Hello,
I have some very simple code where auto completion doesn't work. I tried searching the internet and docs for a few hours to no avail. At any rate I have source in a couple directories. The tree looks like this
tests/file_system
tests/libs
for source located in the file system directory I commonly have to import things from the libs directory. so I have some code like this
import os
import sys
import random
import logging
import traceback
from time import sleep, time
if "libs" not in os.listdir():
sys.path.append("../../../hf/tests")
sys.path.append("../libs")
from libs import utils
from libs import OS
from libs import datacomp
from libs import constants
from libs import iofactory
from libs import rpclib
from libs.tc import TestCase
so at this point there are a few notes. Previoiusly it seems like pycharm didn't understand the path addition in the file or otherwise know how to resolve libs. I added a symlink to in the file_system directory to libs and it got rid of the red squiggly unresolved reference error on the import line, but auto complete still doesn't work at all. so when i type something like this
blah = rpclib.rpc("hf://172.16.109.1")
blah.<expecting a big list of class methods and defs here>
I get nothing. in addition the rpclib constants and methods don't show up either. Well some stuff that I typed in by hand does but that's about it
Verified python paths are good
tried adding these specific directories as sources in the project
autocomplete works on komodo and eclipse, just not here
Any guidance would be great
Thanks
Josh
I have some very simple code where auto completion doesn't work. I tried searching the internet and docs for a few hours to no avail. At any rate I have source in a couple directories. The tree looks like this
tests/file_system
tests/libs
for source located in the file system directory I commonly have to import things from the libs directory. so I have some code like this
import os
import sys
import random
import logging
import traceback
from time import sleep, time
if "libs" not in os.listdir():
sys.path.append("../../../hf/tests")
sys.path.append("../libs")
from libs import utils
from libs import OS
from libs import datacomp
from libs import constants
from libs import iofactory
from libs import rpclib
from libs.tc import TestCase
so at this point there are a few notes. Previoiusly it seems like pycharm didn't understand the path addition in the file or otherwise know how to resolve libs. I added a symlink to in the file_system directory to libs and it got rid of the red squiggly unresolved reference error on the import line, but auto complete still doesn't work at all. so when i type something like this
blah = rpclib.rpc("hf://172.16.109.1")
blah.<expecting a big list of class methods and defs here>
I get nothing. in addition the rpclib constants and methods don't show up either. Well some stuff that I typed in by hand does but that's about it
Verified python paths are good
tried adding these specific directories as sources in the project
autocomplete works on komodo and eclipse, just not here
Any guidance would be great
Thanks
Josh
Please sign in to leave a comment.
import <source>
rather than:
from libs import <source>
I get the proper resolution. I guess for now I can import things through a try / except clause. The problem I have is that I'm developing test automation and the target machines are guaranteed to have the source files and proper interpreter, but may not have the path variables to get this to work right.
Is there any reason why from libs import <file> shouldn't work?
Thanks
Josh
It's reported with Qt and datetime and several others.
I suspected it was the "from x import y" but I also get an error with "import datetime."
The tests run and the code works, but syntax highlighting calls it an error.
I get the same behavior, btw, for "int", "object", "len", "setattr" and a bunch of built-ins.
I'm using Pycharm 3.4.1 on Mac OS X 10.9.5 (if that's helpful).