【问题标题】:Python: using a copy of a library source files instead of installing itPython:使用库源文件的副本而不是安装它
【发布时间】:2022-01-08 09:39:14
【问题描述】:

由于我没有安装 Python 包的权限,并且我需要使用外部库,因此我试图将所有源文件从该包的已安装版本复制到一个文件夹中,然后改用这些文件安装包。我也不想为这个任务使用虚拟环境。

这就是我所做的:

  1. 我已经安装了这个库,让我们在我有权安装它的机器上调用它external_lib

  2. 我已将该库的所有文件复制到一个文件夹中;让我们称之为ext_lib_folder,它与我的 Python 代码处于同一级别(将使用该库)。

  3. 我已将此添加到我的 python 代码中:

    import sys, os
    
    file_path = 'ext_lib_folder/'
    
    sys.path.append(os.path.dirname(file_path))
    
    import external_lib 
    

但是当我尝试运行代码时,我得到错误:

ModuleNotFoundError: No module named 'ext_lib._abcfunpy'; 'ext_lib' is not a package

错误的原因是什么?我怎样才能正确地做我想做的事?

【问题讨论】:

标签: python package


【解决方案1】:

以下是如何使用 selenium 执行此操作的示例。我将库与geckodriver.exe一起保存到文件夹“C:/Py”

import sys, os
file_path = 'C:\\Py\\selenium'
sys.path.append(os.path.dirname(file_path))
from selenium import webdriver
from selenium.webdriver.firefox.service import Service

service = Service('C:\\Py\\geckodriver.exe')
driver = webdriver.Firefox(service=service)
driver.get("https://www.google.com")

【讨论】:

  • 那么为什么会出现我提到的错误?
  • 我不确定,这与import external_lib from external_lib import .... 之间的区别有关
猜你喜欢
  • 2012-02-22
  • 2015-03-07
  • 1970-01-01
  • 2016-01-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多