【问题标题】:using netcdf without installation使用 netcdf 无需安装
【发布时间】:2018-06-16 08:45:04
【问题描述】:

我需要使用 netcdf 但没有安装 python 模块的权限。我从这里下载了 netcdf-0.1.2.tar.gz:https://pypi.python.org/simple/netcdf/ 并解压缩了 tar 球。我一直在关注这个堆栈溢出帖子以尝试使用该模块,但到目前为止还没有运气: (Python) Use a library locally instead of installing it
这是我尝试过的:

安装 virtualenv:
我没有权限这样做

python setup.py install -- 用户:
再说一遍,我没有权限

以 netcdf 作为我当前的工作目录运行我的脚本:
我也试过了,以下是我遇到的问题:
首先我进入 netcdf-0.1.2 并创建了一个名为 asdf.py 的新文件 其中包含以下内容:

import netcdf
print("testing")

运行 python asdf.py 会出现以下错误:

Traceback (most recent call last):
  File "asdf.py", line 1, in <module>
    import netcdf
  File "/.../Downloads/netcdf-0.1.2/netcdf/__init__.py", line 1, in <module>
    from netcdf import *
  File "/.../Downloads/netcdf-0.1.2/netcdf/netcdf.py", line 1, in <module>
    from netCDF4 import Dataset, numpy
ImportError: No module named netCDF4

我不知道如何解决这个错误,任何帮助将不胜感激

如果这有点相关,我使用的 Linux 版本是 3.2.0-23-generic

我也已经安装了 numpy

【问题讨论】:

  • 您可以将 Anaconda/Miniconda 安装到您的主目录中。这将赋予所有需要的权利。
  • @MikeMüller 这里的中心问题是我无法安装任何东西,如果可以的话,我只想安装 netcdf
  • 您不需要管理员权限,只需权限即可在您的主目录中写入。
  • @fred,对不起,我错过了。现在您应该搜索一个名为netCDF4 的模块。我怀疑它是另一个模块,您需要单独下载并以netcdf 可见的方式解压缩,或者它隐藏在netcdf 文件夹中的某个位置,因此应该移动它以便可见。
  • 好的,我找到了一个并下载了它,但我不知道如何将两个放在一起以使其工作

标签: python netcdf


【解决方案1】:

我还想强调一下,包是使用大写字母导入的

import netCDF4 as nc

这在 Mac 上可能无关紧要,但对于 Windows 来说是关键。

【讨论】:

    【解决方案2】:

    如果您安装了 Python 3,那么您将在标准库中拥有 venv 包,因此您不需要单独为您安装“virtualenv”(就像 Python 2 的情况一样)。而是使用 python3 -mvenv ,类似于使用 virtualenv 的方式,例如:

    python3 -mvenv /path/to/my_venv
    

    或包含系统上已安装的任何非标准软件包:

    python3 -mvenv --system-site-packages /path/to/my_venv
    

    之后,您应该可以激活环境和pip install 包,例如

    source /path/to/my_venv/bin/activate   # for csh use activate.csh instead
    pip install netCDF4
    

    记得在运行时和安装时获取activate 脚本:

    source /path/to/my_venv/bin/activate
    python
    

    然后你应该会发现在你的 python 会话中你有 netCDF4 包可用,例如

    import netCDF4
    my_dataset = netCDF4.Dataset('myfile.nc')
    

    当然,用实际路径代替上面的/path/to/my_venv

    这些都不需要任何 root 权限。

    (正如其他人所建议的,您的另一个选择是使用 conda。)

    【讨论】:

      【解决方案3】:

      最简单的方法是使用您的用户权限安装 AnacondaMiniconda。 Anaconda 已经安装为netCDF4。如果使用 Miniconda 安装:

      conda install netcdf4
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多