Message326671
https://docs.python.org/3/library/sys.html#sys.path documents:
> As initialized upon program startup, the first item of this list, path[0], is the directory containing the script that was used to invoke the Python interpreter.
On Windows with an embeddable zip file distribution, this does not happen.
Steps to reproduce:
* Create a foo.py file that contains `import bar`
* Create an empty bar.py file
* With your usual Python installed from the "normal" executable installer, check that `python foo.py` runs without output or error
* Download and extract https://www.python.org/ftp/python/3.7.0/python-3.7.0-embed-amd64.zip
* Run `..\python-3.7.0-embed-amd64\python foo.py`
Expected result:
The script runs again without output or error.
Actual result:
Traceback (most recent call last):
File "foo.py", line 1, in <module>
import bar
ModuleNotFoundError: No module named 'bar'
This might be an occurrence of https://bugs.python.org/issue33698, since the embeddable distribution has a python37._pth file that contains "python37.zip" and "."
print(sys.path) shows [
'C:\\Users\\example\\python-3.7.0-embed-amd64\\python37.zip',
'C:\\Users\\example\\python-3.7.0-embed-amd64'
]
This StackOverflow question describes the same issue: https://stackoverflow.com/q/51403126/1162888 |
|
Date |
User |
Action |
Args |
2018-09-29 07:49:04 | ssapin | set | recipients:
+ ssapin |
2018-09-29 07:49:04 | ssapin | set | messageid: <1538207344.54.0.545547206417.issue34841@psf.upfronthosting.co.za> |
2018-09-29 07:49:04 | ssapin | link | issue34841 messages |
2018-09-29 07:49:04 | ssapin | create | |
|