This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author ssapin
Recipients ssapin
Date 2018-09-29.07:49:04
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1538207344.54.0.545547206417.issue34841@psf.upfronthosting.co.za>
In-reply-to
Content
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
History
Date User Action Args
2018-09-29 07:49:04ssapinsetrecipients: + ssapin
2018-09-29 07:49:04ssapinsetmessageid: <1538207344.54.0.545547206417.issue34841@psf.upfronthosting.co.za>
2018-09-29 07:49:04ssapinlinkissue34841 messages
2018-09-29 07:49:04ssapincreate