sys.path的作用是查看已经安装包的路径
>>> import sys
>>> sys.path
['', '/Users/yanyu/anaconda3/envs/gluon/lib/python38.zip', '/Users/yanyu/anaconda3/envs/gluon/lib/python3.8', '/Users/yanyu/anaconda3/envs/gluon/lib/python3.8/lib-dynload', '/Users/yanyu/anaconda3/envs/gluon/lib/python3.8/site-packages']
可以看到我们通常在gluon环境下用的包都在这个目录下面/Users/yanyu/anaconda3/envs/gluon/lib/ 。
我们要是想用自己写的包或者别人写的包,可以把包保存在任一文件夹中,在利用如下代码假如路径即可。
import sys
sys.path.append("..") # ..的意思就是包和程序文件在一个目录文件下..是当前文件夹
当然也可以放在/Users/yanyu/anaconda3/envs/gluon/lib/目录下面
import sys
sys.path.append("/Users/yanyu/anaconda3/envs/gluon/lib/")
import d2lzh_pytorch as d2l
print(torch.__version__)
包文件夹长这样

嫌麻烦的话,直接把这个包考进sys.path已经有的目录下面,如/Users/yanyu/anaconda3/envs/gluon/lib/python3.8/site-packages,这样就可以直接导入了,目前为止,我还不确定会有啥不好的影响.

>>> import d2lzh_pytorch
/Users/yanyu/anaconda3/envs/gluon/lib/python3.8/site-packages/torchvision/__init__.py:26: UserWarning: You are importing torchvision within its own root folder (/Users/yanyu/anaconda3/envs/gluon/lib/python3.8/site-packages). This is not expected to work and may give errors. Please exit the torchvision project source and relaunch your python interpreter.
warnings.warn(message.format(os.getcwd()))
>>> import d2lzh_pytorch as d2l
sys.path在Python中用于查找已安装的包路径,例如'/Users/yanyu/anaconda3/envs/gluon/lib/python3.8/site-packages'。当需要使用自定义或第三方包时,可以通过sys.path.append()添加包的路径。直接将包放入sys.path已有路径可能引发警告,如在torchvision中。正确做法是确保包的路径被合理添加到sys.path,以避免潜在问题。
1574

被折叠的 条评论
为什么被折叠?



