python - Adding custom dir to PYTHONPATH -


i've been trying add custom directory pythonpath following advice on post permanently add directory pythonpath. i'm using bash on mac, if that's relevant. did:

  1. open ~/.bash_profile
  2. export pythonpath="${pythonpath}:/users/zhengnan/library/python/2.7/lib/python/site-packages" , save
  3. source ~/.bash_profile

there 2 problems:

  1. when ran sys.path inside python ide, intended dir still didn't show up.
  2. when fired python in terminal , ran sys.path there, dir did show up, other directories didn't match got previous step.

specifically, got running sys.path inside ide. intended dir couldn't found.

sys.path ['', '/applications/spyder-py2.app/contents/resources', '/applications/spyder-py2.app/contents/resources/lib/python27.zip', '/applications/spyder-py2.app/contents/resources/lib/python2.7', '/applications/spyder-py2.app/contents/resources/lib/python2.7/plat-darwin', '/applications/spyder-py2.app/contents/resources/lib/python2.7/plat-mac', '/applications/spyder-py2.app/contents/resources/lib/python2.7/plat-mac/lib-scriptpackages', '/applications/spyder-py2.app/contents/resources/lib/python2.7/lib-tk', '/applications/spyder-py2.app/contents/resources/lib/python2.7/lib-old', '/applications/spyder-py2.app/contents/resources/lib/python2.7/lib-dynload', '/applications/spyder-py2.app/contents/resources/lib/python2.7/site-packages.zip', '/applications/spyder-py2.app/contents/resources/lib/python2.7/site-packages', '/applications/spyder-py2.app/contents/resources/lib/python2.7/ipython/extensions', '/users/zhengnan/.ipython']

and got running sys.path terminal. intended dir third element in list.

sys.path ['', '/users/zhengnan', '/users/zhengnan/library/python/2.7/lib/python/site-packages', '/system/library/frameworks/python.framework/versions/2.7/lib/python27.zip', '/system/library/frameworks/python.framework/versions/2.7/lib/python2.7', '/system/library/frameworks/python.framework/versions/2.7/lib/python2.7/plat-darwin', '/system/library/frameworks/python.framework/versions/2.7/lib/python2.7/plat-mac', '/system/library/frameworks/python.framework/versions/2.7/lib/python2.7/plat-mac/lib-scriptpackages', '/system/library/frameworks/python.framework/versions/2.7/extras/lib/python', '/system/library/frameworks/python.framework/versions/2.7/lib/python2.7/lib-tk', '/system/library/frameworks/python.framework/versions/2.7/lib/python2.7/lib-old', '/system/library/frameworks/python.framework/versions/2.7/lib/python2.7/lib-dynload', '/system/library/frameworks/python.framework/versions/2.7/extras/lib/python/pyobjc']

i should mention reason want add custom dir pythonpath every time pip install package, gets installed in /users/zhengnan/library/python/2.7/lib/python/site-packages , don't want sys.path.append every time run script. please advise. thanks.

there's lot going on here.

fundamentally, python using in ide not python using in terminal. why pip install doesn't put things in right place.

the easiest solution modify $path environment variable when type python in terminal, same version ide using. guess ide's python /applications/spyder-py2.app/contents/resources/bin/python, in case rid of pythonpath setting .bash_profile , add:

export path="/applications/spyder-py2.app/contents/resources/bin:$path" 

assuming pip available in same place, should able pip install things without needing muck pythonpath.

the other problem here environment variables set in shell, e.g., in .bash_profile, have no impact on environment visible applications. possible set environment variables visible os x applications (e.g., see this question), it's tricky , wouldn't advise it.

an alternate solution, if it's available, tell ide python should using, , point @ whichever 1 visible terminal.


Comments

Popular posts from this blog

java - nested exception is org.hibernate.exception.SQLGrammarException: could not extract ResultSet Hibernate+SpringMVC -

sql - Postgresql tables exists, but getting "relation does not exist" when querying -

asp.net mvc - breakpoint on javascript in CSHTML? -