Permanently add a directory to PYTHONPATH?

前端 未结 19 1321
别那么骄傲
别那么骄傲 2020-11-22 01:12

Whenever I use sys.path.append, the new directory will be added. However, once I close python, the list will revert to the previous (default?) values. How do I

相关标签:
19条回答
  • 2020-11-22 01:47

    The script below works on all platforms as it's pure Python. It makes use of the pathlib Path, documented here https://docs.python.org/3/library/pathlib.html, to make it work cross-platform. You run it once, restart the kernel and that's it. Inspired by https://medium.com/@arnaud.bertrand/modifying-python-s-search-path-with-pth-files-2a41a4143574. In order to run it it requires administrator privileges since you modify some system files.

    from pathlib import Path
    to_add=Path(path_of_directory_to_add)
    from sys import path
    
    if str(to_add) not in path:
        minLen=999999
        for index,directory in enumerate(path):
            if 'site-packages' in directory and len(directory)<=minLen:
                minLen=len(directory)
                stpi=index
                
        pathSitePckgs=Path(path[stpi])
        with open(str(pathSitePckgs/'current_machine_paths.pth'),'w') as pth_file:
            pth_file.write(str(to_add))
    
    0 讨论(0)
提交回复
热议问题