如何使我的Python模块在Linux系统上可用?

我自己做了一个小模块,碰巧使用了很多。 每当我需要它,我只需将其复制到我想要使用它的文件夹。 由于我很懒,我想安装它,以便我可以从任何地方调用它,甚至是交互式提示。 所以我在这里读了一些关于安装的内容,并得出结论,我需要将文件复制到/usr/local/lib/python2.7/site-packages。 但是,似乎没有做任何事情。

有谁知道我需要复制我的模块在系统范围内工作吗?

Solutions Collecting From Web of "如何使我的Python模块在Linux系统上可用?"

有一些方法可以在系统范围内安装Python模块。 你可能想看看distutils 。 distutils2(当前版本)的一个很好的教程可以在这里找到。

你基本上必须写一个文件setup.py ,告诉distutils要做什么。 那么你可以简单地

 python setup.py install 

用root权限在系统范围内安装你的模块。 有好的和简单的例子,再加上它是我能想象的最干净的方式。

答案是: 这完全是关于权限

将文件放在正确的位置是不够的,例如: /usr/local/lib/python2.7/dist-packages ,还需要确保文件可以被正在运行的进程读取,在这种情况下,蟒蛇。

确保“其他”用户具有对文件的读取权限。 打开bash控制台并执行此操作:

 sudo chmod o+r "yourmodule.py" [Introduce the password] 

之后再去python并尝试导入:

 import "yourmodule" 

只要.py文件所在的路径存在于PYTHONPATH +文件中,那么应该允许你导入它。

如果您使用的是Ubuntu,请将文件复制到/usr/local/lib/python2.7/dist-packages 。 以下命令将显示您在哪里复制。

 python -c "from distutils.sysconfig import *; print(get_python_lib())" 

如果你是唯一使用模块的话,将文件复制到~/.local/lib/python2.7/site-packages

在您的Python提示符下键入sys.path时列出的目录之一。 您还可以通过修改PYTHONPATH环境变量来添加包含文件的目录:

 # ~/.bashrc file export PYTHONPATH+=:/some/dir 

几件事。

首先模块必须(我相信)位于与模块名称匹配的目录中。

把这个模块目录放在PYTHONPATH的其中一个目录下(我使用/usr/lib/pymodules/pythonV.x/)。 您可以在路径中使用找到合适的目录

 import sys print(sys.path) 

从python提示符。