【问题标题】:Using PIP to install openpyxl for a user使用 PIP 为用户安装 openpyxl
【发布时间】:2018-08-02 03:08:27
【问题描述】:

我编写了一个脚本,使用户能够自动填写他们的每周时间表并将其保存为新的 Excel 电子表格。

我以为我可以将 Openpyxl 文件夹与要导入的脚本放在同一目录中,但它似乎不起作用。

我已经根据下面的其他几个线程整理了一些代码,以便在导入之前检查 openpyxl。所以我希望有能力设置openpyxl。我打算在导入操作系统、系统、时间、日期时间等期间运行这段代码。

try:
    __import__('imp').find_module('openpyx')
    print('this worked')
except ImportError:
    pass
    print('')
    print('You do not have OpenpyXl installed - it will now install')
    print('')

我知道我应该使用 PIP 吗?因此,如果我将 Openpyxl 文件夹与脚本放在同一目录中,我怎么能指向它呢? 我需要更改系统路径吗?

我的代码基本上是这样开始的 -

#!/usr/bin/env python3
import os
import sys
import openpyxl
import time
from datetime import datetime
from datetime import timedelta

FMT = '%H:%M'

print("")
print("Welcome to Timesheet Bot 1.0")
print ('\033[91m' + "I now will ask you a few questions about your work week." + '\033[0m')
time.sleep(3)

# Location of spreadsheet

file = str(input('Please drag and drop the spreadsheet here : '))
path = file
os.chdir(path)
wb = openpyxl.load_workbook('DC.xlsx')
FMT = '%H:%M'
sheet = wb['TIMESHEET']

# Name of the individual
print("")
name = str(input('What is your full name? '))
sheet['B9'] = name

我仍在学习,非常感谢我应该做的任何指导或阅读来学习它。

【问题讨论】:

  • 如果包含所有源文件的openpyxl文件夹在同一个目录中,您应该可以在不安装的情况下导入它。
  • 我再次下载并提取它以确保它都在那里,但仍然没有运气。
  • mabye 因为错字? find_module('openpyx')
  • 那是为了更早的测试,以确保如果它没有找到脚本,它将运行另一个语句。
  • 您知道您的导入中有错字吗?

标签: python python-3.x pip openpyxl python-module


【解决方案1】:

首选方式是使用virtualenv

  1. 首先安装virtualenvpip install virtualenv

  2. 移动到项目所在的文件夹 requirement.txt 包含所有 python 依赖项的文件,例如 openpyxl

  3. 通过命令virtualenv venv --python=python3启动虚拟环境

  4. 通过source venv/bin/activate激活环境

  5. 通过pip install -r requirement.txt安装所有要求

  6. 当您想摆脱环境时,只需使用: source venv/bin/deactivate

请参考:https://virtualenv.pypa.io/en/stable/

【讨论】:

  • 我在 OSX 上 - 所以我猜这会改变几个步骤。所以我基本上仍然可以在脚本中完成所有这些工作吗?在用户 Mac 上安装虚拟环境?
  • 更新了 osx 的答案。您可以在任何机器上安装 virtualenv 并安装所需的模块。
猜你喜欢
  • 1970-01-01
  • 2023-02-08
  • 1970-01-01
  • 1970-01-01
  • 2022-06-27
  • 1970-01-01
  • 2016-12-21
  • 2020-10-23
  • 2011-01-13
相关资源
最近更新 更多