我需要把一个python脚本放在我电脑的某个地方,这样我就可以在另一个文件中使用它。我该怎么做?我该把它放在哪里?我在python文档的哪里可以学到如何做?我是一个初学者+不太使用python。
库文件:www.example.com放在一个知名的地方MyLib.py put in a well-known place
def myfunc():
....
其他文件www.example.com位于其他位置,不需要知道www.example.com的位置: SourceFile.py located elsewhere, doesn't need to know where MyLib.py is:
something = MyLib.myfunc()
7条答案
按热度按时间z9smfwbn1#
选项1:
将您的文件放在:
<Wherever your Python is>/Lib/site-packages/myfile.py
将以下内容添加到代码中:
优点:简单
缺点:杂乱的网站包
选项2:
将您的文件放在:/库/站点包/我的包/www.example.commyfile.py
创建一个名为的空文本文件:
<Wherever your Python is>/Lib/site-packages/mypackage/__init__.py
将以下内容添加到代码中:
优点:通过将你的东西合并到一个目录中,减少了站点包中的混乱
缺点:稍微多一点工作;站点包中仍然有些混乱。这对于稳定的东西来说并不坏,但是可能被认为不适合开发工作,如果Python安装在共享驱动器上,这可能是不可能的
选项3
把你的文件放在任何你喜欢的目录下
将该目录添加到PYTHONPATH环境变量中
按照选项1或选项2继续操作,只是要替换为
<Wherever your Python is>/Lib/site-packages/
创建的目录优点:将开发代码放在site-packages目录之外
缺点:稍微多设置
这是我通常用于开发工作的方法
jhdbpxl92#
总的来说,Python教程的Modules部分对于初学者来说是一个很好的介绍,它解释了如何编写自己的模块以及将它们放在哪里,但我将在下面总结你的问题的答案:
Python安装有一个
site-packages
目录;你放在那个目录下的任何python文件都可以被你写的任何脚本使用。例如,如果你把MyLib.py
文件放在site-packages
目录下,那么你可以在你的脚本中说如果你不确定Python的安装位置,堆栈溢出问题How do I find the location of my Python site-packages directory会对你有所帮助。
或者,你可以修改sys.path,这是一个目录列表,Python在使用
import
语句时会在其中查找库,你的site-packages
目录已经在这个列表中,但是你可以自己添加(或删除)条目,例如,如果你想把你的MyLib.py
文件放在/usr/local/pythonModules
中,你可以说最后,可以使用PYTHONPATH环境变量来指示
MyLib.py
所在的目录。但是,我建议简单地将
MyLib.py
文件放在site-packages
目录中,如上所述。wqsoz72f3#
没有人提到在站点包中使用.pth文件来抽象出位置。
guz6ccqo4#
你必须把你的
MyLib.py
放在你的加载路径中的某个地方(这是你的sys.path
变量中的路径),然后你就可以很好地导入它了。一般来说,你应该使用distutils来分发你的软件包,这样它们就可以很容易地安装到正确的位置,这对你也有帮助。
另外,你可能不想在全局Python安装中安装包,习惯上(也是推荐的)使用virtualenv,你可以用它来创建一个小的独立Python环境,可以保存本地包。
你最好把整件事都试一试,如果有问题的话再问。
lawou6xi5#
私人版本,来自我的
.profile
它有一个子目录“msw”,因此
import msw.primes
是自文档化的,或者添加到sys.path中已有的本地目录c8ib6hqw6#
Python教程第6节讨论了模块,6.1.2节讨论了PYTHONPATH,它决定了Python将在哪里寻找你试图导入的模块。http://docs.python.org/tutorial/modules.html
2fjabf4q7#
在Windows中:您可以使用W10中提供的SYMLINK。
转到〈无论Python在哪里〉/Lib/site-packages/
优点:可以使用多个Python版本
缺点:你必须为每个版本都这样做。