【问题标题】:Pycharm storing packages in separate files?Pycharm将包存储在单独的文件中?
【发布时间】:2020-02-25 21:50:07
【问题描述】:

我在 Windows 上使用 Python 3.7。我安装了 Pycharm 并成功编写了一个脚本,我现在正尝试使用 Windows 任务计划程序来安排它,它带有一系列复杂性。我注意到 Pycharm 的一件事是我认为它创建了一个单独的文件目录来存储我添加到脚本中的任何包(可能在名为“venv”的东西中?而不是使用 User/Python37/Scripts 文件。

这意味着当我尝试在命令提示符下运行我的脚本时,python.exe 会查找包但找不到它们。此外,如果我进入我的 Pycharm 项目文件夹,则会看到与存储在 User/Python37 中的 Python 应用程序不同的 Python 应用程序文件的另一个实例。我认为这也会产生问题,但我不是 100% 确定。

我希望有人看到了这个问题并且可以帮助我调整 Pycharm 存储包的位置。任何帮助将不胜感激。

【问题讨论】:

  • 是的,默认情况下,像 anaconda 或 pycharm 这样的程序会将其安装的包存储在与 python 安装不同的位置。您可以通过从终端和 pycharm 打印 sys.path 来看到这一点。

标签: python windows pycharm


【解决方案1】:

您也可以简单地将您的脚本/包添加到您的 python 路径中。

为此,请遵循此awser:How to add to the PYTHONPATH in Windows, so it finds my modules/packages?

【讨论】:

  • 那么将每个包含 Python 包的文件路径添加到 PYTHONPATH 中?
  • 取决于结构,但如果是这样/path/to/my/scripts/,则将此路径添加到pythonpath,然后您可以调用其中的所有脚本。
  • 将虚拟环境的 python 路径添加到 windows PATH 是很危险的:它可能会在应该使用哪个库/python 版本上产生冲突。即使您设法让一切正常运行,您也只是在使虚拟环境的整个概念无效
  • 这个答案似乎在正确的轨道上,但葛兰素史克的回复让我有些犹豫。
  • @SteveBurt 这取决于您的脚本,如果它们依赖于多个包,您可能很想将它们保留在环境中。但是,如果他们没有依赖关系,请继续使用我的 awnser,这对您来说会更容易,而且这样做是正确的。
【解决方案2】:

PyCharm 创建一个虚拟环境 (venv),您可以在其中保留特定项目中使用的 python 版本和库。
您可以通过 Pycharm GUI 将库添加到特定环境中:

文件>设置>项目:模式>项目解释器>安装(绿色+

找到您的包裹并在您的 venv 中单击 Install Package
您可以在路径中看到所有已安装的包及其版本:

文件 > 设置 > 项目:模式 > 项目解释器

你也可以使用pip install,如果你想通过CLI,但一定要使用虚拟环境的pip(位于project_folder/venv/Scripts)。

如果由于某种原因你想在虚拟环境之外使用python版本,在PyCharm中进入如下路径:

文件 > 设置 > 项目:模式 > 项目解释器

Project interpeter下拉菜单中,你应该找到其他python的位置;选择你喜欢的那个。如果您没有看到您的标准 Python 版本(通常在 C:\python\python.exe 或类似的地方),您可以通过单击设置菜单来添加它,并在 Base interpreter: 中指定所需 Python 版本的路径。
在此窗口中,您可以找到其他设置来根据需要配置解释器。

【讨论】:

  • 如果我的理解是正确的,这个答案有助于如何在 PyCharm 中操作解释器。但是我的挑战是,一旦我在命令行中运行 Python 脚本,或者只是启动 Python 3.7,我就会遇到错误。有没有办法快速将 venv 中的包复制到 Python 3.7 的脚本文件夹中?
  • 如果你想从 cmd 行运行你的 venv 中的 python 脚本,我建议你使用 venv 的 python:C:\path\to\your\venvs\python.exe your_file.py。如果您承诺将所有库从 venv 复制到通用 python,请在 cmd 行中转到 venv 中的 pip(可能是 project/venv/Scripts),运行 pip freeze > requirements.txt 以保存所有使用的库。回到一个文件夹,然后运行pip install Scripts/requirements.txt将venv的库安装到一般的python安装中
猜你喜欢
  • 1970-01-01
  • 2013-08-27
  • 2018-04-26
  • 2014-10-19
  • 2011-11-11
  • 1970-01-01
  • 1970-01-01
  • 2011-06-26
  • 1970-01-01
相关资源
最近更新 更多