在本地文件夹中从github安装python软件包/模块并使用它

时间:2019-01-05 13:06:58

标签: python python-3.x pip

问题

我想使用pip3从github将python模块安装到名为local_lib/的本地文件夹中,然后在没有任何virtualenv 的脚本中使用它。

>

上下文

这是我的文件夹结构:

.
+-- local_lib/ // Folder where the package must be installed
+-- my_script.py

这是我用来从github将path.py软件包安装到local_lib/文件夹中的命令行:

pip3 install --upgrade --target local_lib git+https://github.com/jaraco/path.py.git 

这是命令行后面local_lib/文件夹的内容:

.
+-- local_lib/ // Folder where the package must be installed
|   +-- __pycache__
|   +-- importlib_metadata-0.8.dist-info
|   +-- path.py-11.5.1.dev20+g3684c4d.dist-info
|   +-- zipp-0.3.3.dist-info
|   +-- importlib_metadata
+-- my_script.py

这是my_script.py的内容:

#!/usr/bin/env python3
# -*- coding: utf-8 -*-

from local_lib.path import Path

if __name__ == '__main__'::
    print(Path('.') / 'generated_folder')

但是当我使用python3 my_script.py执行脚本时,出现以下导入错误:

  

回溯(最近通话最近):
  模块“
”中第4行的文件“ my_program.py”   从local_lib.path导入路径
  ModuleNotFoundError:没有名为“ local_lib.path”的模块

是否应该更改将软件包导入my_scipt.py的方式?还是?应该更改命令行以安装软件包吗?

2 个答案:

答案 0 :(得分:2)

您必须告诉Python,它必须在local_lib中查找模块。例如。通过将其添加到脚本中的sys.path中(从其导入之前的 )或将其添加到您的PYTHONPATH环境变量中。

答案 1 :(得分:1)

为此,您只需将path.py文件下载到您的local_lib文件夹中,您的path.py用例就可以使用了。您不需要安装pip3

是否希望path.py适用于计算机上任何文件夹中的脚本,使用相同的语法,使用solution from Roland Smith或使用pip install path.py进行通用安装。