我如何在我的项目中使用来自 github 的 Python 模块代码?
How can I use this Python module code from github in my project?
我不知道如何为此代码设置路径和导入语句以在我的项目中使用它:
https://github.com/IssamLaradji/NeuralNetworks
我将代码添加为 git 子模块,所以这里是根文件夹:
NeuralNetworks/
train_mlp.py
然后在我的 python 代码中,我尝试这样导入:
from NeuralNetworks.multilayer_perceptron import multilayer_perceptron
from NeuralNetworks.multilayer_perceptron import base
mlp = multilayer_perceptron.MultilayerPerceptronClassifier(hidden_layer_sizes=(50, 20), max_iter=200, alpha=0.02)
Python 抱怨 "base" 模块不可用。如何设置此子模块以在我的 sklearn
项目中工作?
1) 如果无法通过 pypi 获得,您可以使用 git 将其克隆到您的本地系统;或
2) github 上有一个下载按钮,它会给你一个 zip 或 tar 文件,你可以下载并放在你的项目下并在本地使用。
那里的示例展示了如何通过导入 multilayer_perceptron.py 在同一目录中只 运行 脚本。如果你想把东西打包成 Python 包,你需要添加 __init__.py
和所有这些东西,并确保东西仍然由你自己导入。
或者,您可以通过 sys.path 或环境变量将包含这些东西的目录添加到您的路径中。
编辑:要反映更新后的问题,您需要在子模块中 __init__.py
。
既然你知道 git,我会先提交一个 pull request 以将其纳入上游项目(这是一个无害的更改,不需要对项目进行重大重组)。
在此之前,您有两个选择之一:
1) 您的代码可以将子目录添加到 sys.path,然后直接访问 python 模块(而不是作为子模块)。
2) 您可以在您定义的模块中添加一段代码,将 __init__.py
写入 git 子模块:
import os
mydir = os.path.dirname(__file__)
initf = os.path.join(mydir, 'NeuralNetworks', '__init__.py')
if not os.path.exists(initf):
open(initf, 'wb').close()
导入此模块时,它会通过创建 __init__.py
模块将 NeuralNetworks 变成 Python 包。
我不知道如何为此代码设置路径和导入语句以在我的项目中使用它:
https://github.com/IssamLaradji/NeuralNetworks
我将代码添加为 git 子模块,所以这里是根文件夹:
NeuralNetworks/
train_mlp.py
然后在我的 python 代码中,我尝试这样导入:
from NeuralNetworks.multilayer_perceptron import multilayer_perceptron
from NeuralNetworks.multilayer_perceptron import base
mlp = multilayer_perceptron.MultilayerPerceptronClassifier(hidden_layer_sizes=(50, 20), max_iter=200, alpha=0.02)
Python 抱怨 "base" 模块不可用。如何设置此子模块以在我的 sklearn
项目中工作?
1) 如果无法通过 pypi 获得,您可以使用 git 将其克隆到您的本地系统;或
2) github 上有一个下载按钮,它会给你一个 zip 或 tar 文件,你可以下载并放在你的项目下并在本地使用。
那里的示例展示了如何通过导入 multilayer_perceptron.py 在同一目录中只 运行 脚本。如果你想把东西打包成 Python 包,你需要添加 __init__.py
和所有这些东西,并确保东西仍然由你自己导入。
或者,您可以通过 sys.path 或环境变量将包含这些东西的目录添加到您的路径中。
编辑:要反映更新后的问题,您需要在子模块中 __init__.py
。
既然你知道 git,我会先提交一个 pull request 以将其纳入上游项目(这是一个无害的更改,不需要对项目进行重大重组)。
在此之前,您有两个选择之一:
1) 您的代码可以将子目录添加到 sys.path,然后直接访问 python 模块(而不是作为子模块)。
2) 您可以在您定义的模块中添加一段代码,将 __init__.py
写入 git 子模块:
import os
mydir = os.path.dirname(__file__)
initf = os.path.join(mydir, 'NeuralNetworks', '__init__.py')
if not os.path.exists(initf):
open(initf, 'wb').close()
导入此模块时,它会通过创建 __init__.py
模块将 NeuralNetworks 变成 Python 包。