New submission from Valentin Zhao <jmsq...@gmail.com>:
I want to manage all the packages that I installed so every time adding package I set "--target" so the package will be downloaded there. Then I wrote the directory in a .pth file which is located in "/Python36/Lib/site-packages" so I could still get accessed to all the packages even though they are not located within "Python36" folder. However, my current user name of Windows is a Chinese name, which means the customized path I mentioned before has Chinese characters within it, thus the .pth file will be also encoded with 'gbk'. Every time I would like to import these packages will get "UnicodeDecodeError: 'gbk' can't decode byte xxx...". Fortunately I have found the reason and cracked the problem: python read .pth files without setting any encoding. The code is located in "Python36/Lib/site.py" def addpackage(sitedir, name, known_paths): if known_paths is None: known_paths = _init_pathinfo() reset = True else: reset = False fullname = os.path.join(sitedir, name) try: # here should set the second param as encoding='utf-8' f = open(fullname, "r") except OSError: return # other codes And after I doing this, everything goes well. ---------- components: Library (Lib) files: IMG_20181101_173328_[b...@ae031df.jpg messages: 329050 nosy: Valentin Zhao priority: normal severity: normal status: open title: Cannot access to customized paths within .pth file type: behavior versions: Python 3.6 Added file: https://bugs.python.org/file47899/IMG_20181101_173328_[b...@ae031df.jpg _______________________________________ Python tracker <rep...@bugs.python.org> <https://bugs.python.org/issue35131> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com