python:如何/在哪里把一个简单的库安装在一个众所周知的地方在我的计算机上

3npbholx  于 2023-02-28  发布在  Python
关注(0)|答案(7)|浏览(140)

我需要把一个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()
z9smfwbn

z9smfwbn1#

选项1:

将您的文件放在:<Wherever your Python is>/Lib/site-packages/myfile.py
将以下内容添加到代码中:

import myfile

优点:简单
缺点:杂乱的网站包

选项2:

将您的文件放在:/库/站点包/我的包/www.example.commyfile.py
创建一个名为的空文本文件:<Wherever your Python is>/Lib/site-packages/mypackage/__init__.py
将以下内容添加到代码中:

from mypackage import myfile

优点:通过将你的东西合并到一个目录中,减少了站点包中的混乱
缺点:稍微多一点工作;站点包中仍然有些混乱。这对于稳定的东西来说并不坏,但是可能被认为不适合开发工作,如果Python安装在共享驱动器上,这可能是不可能的

选项3

把你的文件放在任何你喜欢的目录下
将该目录添加到PYTHONPATH环境变量中
按照选项1或选项2继续操作,只是要替换为<Wherever your Python is>/Lib/site-packages/创建的目录
优点:将开发代码放在site-packages目录之外
缺点:稍微多设置
这是我通常用于开发工作的方法

jhdbpxl9

jhdbpxl92#

总的来说,Python教程的Modules部分对于初学者来说是一个很好的介绍,它解释了如何编写自己的模块以及将它们放在哪里,但我将在下面总结你的问题的答案:
Python安装有一个site-packages目录;你放在那个目录下的任何python文件都可以被你写的任何脚本使用。例如,如果你把MyLib.py文件放在site-packages目录下,那么你可以在你的脚本中说

import MyLib
something = MyLib.myfunc()

如果你不确定Python的安装位置,堆栈溢出问题How do I find the location of my Python site-packages directory会对你有所帮助。
或者,你可以修改sys.path,这是一个目录列表,Python在使用import语句时会在其中查找库,你的site-packages目录已经在这个列表中,但是你可以自己添加(或删除)条目,例如,如果你想把你的MyLib.py文件放在/usr/local/pythonModules中,你可以说

import sys
sys.path.append("/usr/local/pythonModules")
import MyLib
something = MyLib.myfunc()

最后,可以使用PYTHONPATH环境变量来指示MyLib.py所在的目录。
但是,我建议简单地将MyLib.py文件放在site-packages目录中,如上所述。

wqsoz72f

wqsoz72f3#

没有人提到在站点包中使用.pth文件来抽象出位置。

guz6ccqo

guz6ccqo4#

你必须把你的MyLib.py放在你的加载路径中的某个地方(这是你的sys.path变量中的路径),然后你就可以很好地导入它了。

import MyLib
MyLib.myfunc()

一般来说,你应该使用distutils来分发你的软件包,这样它们就可以很容易地安装到正确的位置,这对你也有帮助。
另外,你可能不想在全局Python安装中安装包,习惯上(也是推荐的)使用virtualenv,你可以用它来创建一个小的独立Python环境,可以保存本地包。
你最好把整件事都试一试,如果有问题的话再问。

lawou6xi

lawou6xi5#

私人版本,来自我的.profile

export PYTHONPATH=${PYTHONPATH}:$HOME/lib/python

它有一个子目录“msw”,因此import msw.primes是自文档化的,或者添加到sys.path中已有的本地目录

c8ib6hqw

c8ib6hqw6#

Python教程第6节讨论了模块,6.1.2节讨论了PYTHONPATH,它决定了Python将在哪里寻找你试图导入的模块。http://docs.python.org/tutorial/modules.html

2fjabf4q

2fjabf4q7#

在Windows中:您可以使用W10中提供的SYMLINK。
转到〈无论Python在哪里〉/Lib/site-packages/

mklink [your_python_file_name].py <your_lib_folder>/[your_python_file_name].py
  • 已通过Python 3.8、3.10和3.11测试

优点:可以使用多个Python版本
缺点:你必须为每个版本都这样做。

  • 免责声明,不适用于生产用途。

相关问题