Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.python > #91139
| From | Peter Otten <__peter__@web.de> |
|---|---|
| Subject | Re: PYTHONPATH when calling from ipython |
| Date | 2015-05-23 18:09 +0200 |
| Organization | None |
| References | <874mn5qjc8.fsf@Equus.decebal.nl> <mailman.268.1432372378.17265.python-list@python.org> <87iobjpnt4.fsf@Equus.decebal.nl> <mailman.275.1432387517.17265.python-list@python.org> <87egm7petb.fsf@Equus.decebal.nl> |
| Newsgroups | comp.lang.python |
| Message-ID | <mailman.282.1432397364.17265.python-list@python.org> (permalink) |
Cecil Westerhof wrote:
> Op Saturday 23 May 2015 15:25 CEST schreef Peter Otten:
>
>> Cecil Westerhof wrote:
>>
>>> Op Saturday 23 May 2015 11:12 CEST schreef Mark Lawrence:
>>>
>>>> On 22/05/2015 06:20, Cecil Westerhof wrote:
>>>>> I am looking into using ipython instead of bash. But when I call
>>>>> a python program from ipython PYTHONPATH is not set. So
>>>>> pythonscripts that need a module through PYTHONPATH will not
>>>>> work.
>>>>>
>>>>> I could do something like:
>>>>> !PYTHONPATH=~/Python/PythonLibrary python2 …
>>>>>
>>>>> But I find that a little bit cumbersome. Is there a better way to
>>>>> do it?
>>>>>
>>>>
>>>> What makes you think this? Have you tried:-
>>>>
>>>>>>> import os
>>>>>>> os.environ['PYTHONPATH']
>>>> 'C:\\Users\\Mark\\Documents\\Cash\\Python;C:
>> \\Users\\Mark\\Documents\\MyPython'
>>>>
>>>> That might be from the command line interpreter but it also works
>>>> the same from iPython for me on Windows 8.1.
>>>
>>> That does not change anything. The modules are not found. Also not
>>> when using %run.
>>
>>
>> That may be because ~ is not expanded.
>>
>> Try
>>
>> os.environ["PYTHONPATH"] =
>> os.path.expanduser("~/Python/PythonLibary")
>
> That is not the problem:
> os.environ['PYTHONPATH']
> gives:
> .:/home/cecil/Python'
>
> As I interpret it is that the very handy shell variable is not used in
> ipython.
>
I can't confirm that finding. For test purposes I created foo/bar/hello.py.
Then I verified that the hello.py module is not found when invoking the
python3 interpreter from within ipython3.
Once I update os.environ["PYTHONPATH"] the module is successfully imported.
The complete session:
$ mkdir -p foo/bar
$ echo 'print("hello from foo/bar")' > foo/bar/hello.py
$ ipython3
Python 3.4.0 (default, Apr 11 2014, 13:05:11)
Type "copyright", "credits" or "license" for more information.
IPython 1.2.1 -- An enhanced Interactive Python.
? -> Introduction and overview of IPython's features.
%quickref -> Quick reference.
help -> Python's own help system.
object? -> Details about 'object', use 'object??' for extra details.
In [1]: import hello.py
---------------------------------------------------------------------------
ImportError Traceback (most recent call last)
<ipython-input-1-d9db4361d25a> in <module>()
----> 1 import hello.py
ImportError: No module named 'hello'
In [2]: import os
In [3]: !python3 -c 'import hello'
Traceback (most recent call last):
File "<string>", line 1, in <module>
ImportError: No module named 'hello'
In [4]: os.environ["PYTHONPATH"] = "foo/bar"
In [5]: !python3 -c 'import hello'
hello from foo/bar
If that's not what you want please explain in similar detail what you want
to achieve and what you actually tried. Thank you.
Back to comp.lang.python | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
PYTHONPATH when calling from ipython Cecil Westerhof <Cecil@decebal.nl> - 2015-05-22 07:20 +0200
Re: PYTHONPATH when calling from ipython Mark Lawrence <breamoreboy@yahoo.co.uk> - 2015-05-23 10:12 +0100
Re: PYTHONPATH when calling from ipython Cecil Westerhof <Cecil@decebal.nl> - 2015-05-23 12:53 +0200
Re: PYTHONPATH when calling from ipython Peter Otten <__peter__@web.de> - 2015-05-23 15:25 +0200
Re: PYTHONPATH when calling from ipython Cecil Westerhof <Cecil@decebal.nl> - 2015-05-23 16:08 +0200
Re: PYTHONPATH when calling from ipython Laura Creighton <lac@openend.se> - 2015-05-23 17:00 +0200
Re: PYTHONPATH when calling from ipython Cecil Westerhof <Cecil@decebal.nl> - 2015-05-23 17:24 +0200
Re: PYTHONPATH when calling from ipython Peter Otten <__peter__@web.de> - 2015-05-23 18:09 +0200
Re: PYTHONPATH when calling from ipython Cecil Westerhof <Cecil@decebal.nl> - 2015-05-23 19:30 +0200
Re: PYTHONPATH when calling from ipython Mark Lawrence <breamoreboy@yahoo.co.uk> - 2015-05-23 19:13 +0100
Re: PYTHONPATH when calling from ipython Cecil Westerhof <Cecil@decebal.nl> - 2015-05-23 21:47 +0200
Re: PYTHONPATH when calling from ipython Cecil Westerhof <Cecil@decebal.nl> - 2015-05-23 20:14 +0200
csiph-web