我有一个包含许多文件夹的git存储库,其中一个是可以用pip安装的python模块,如下所示:
repo.git/
repo.git/folder1/
repo.git/folder2/
repo.git/mymodule/
repo.git/mymodule/__init__.py
repo.git/mymodule/setup.py
repo.git/mymodule/...
Run Code Online (Sandbox Code Playgroud)
现在我必须执行以下安装:
git clone http://server/repo.git
cd repo
pip install mymodule
cd ..
rm -rf repo
Run Code Online (Sandbox Code Playgroud)
是否可以直接使用pip安装模块而无需明确克隆?
我试过了:
pip install git+https://server/repo.git/mymodule/
pip install git+https://server/repo.git:mymodule/
Run Code Online (Sandbox Code Playgroud)
但我得到:
IOError: [Errno 2] No such file or directory: '/tmp/pip-88tlLm-build/setup.py'
Run Code Online (Sandbox Code Playgroud) 我正在开发一个项目,需要从包sklearn中获得一些不同的功能.我已经分配了回购并推动了我的改变.我知道我可以通过pip从github安装:
pip install git+git://github.com/wdonahoe/scikit-learn-fork.git@master
Run Code Online (Sandbox Code Playgroud)
然后我可以用setup.py安装包:
python setup.py install
Run Code Online (Sandbox Code Playgroud)
但是,我对此步骤后要做什么感到困惑.运行setup.py会在.../dist-packages /中创建一些.egg-info文件夹和.egg-links文件,但我不确定如何处理它们.理想情况下,我想在.../projects/my_project中进入我的项目并说出类似的内容
from sklearn-my-version import <stuff>
Run Code Online (Sandbox Code Playgroud)
或者用它来切换它
from sklearn import <stuff>
Run Code Online (Sandbox Code Playgroud)
我也有点困惑,因为在这个问题上有很多资源提到使用easy_install,我认为pip被替换了.
当我尝试pandas从我的conda虚拟环境中卸载时,我发现它还尝试卸载更多包:
$ conda uninstall pandas
Using Anaconda Cloud api site https://api.anaconda.org
Fetching package metadata: ....
Solving package specifications: .........
Package plan for package removal in environment /Users/amelio/anaconda/envs/py35:
The following packages will be downloaded:
package | build
---------------------------|-----------------
dask-0.7.6 | py35_0 276 KB
The following packages will be REMOVED:
blaze: 0.10.1-py35_0
odo: 0.5.0-py35_1
pandas: 0.18.1-np111py35_0
seaborn: 0.7.0-py35_0
statsmodels: 0.6.1-np111py35_1
The following packages will be DOWNGRADED:
dask: 0.10.1-py35_0 --> 0.7.6-py35_0
Proceed ([y]/n)?
Run Code Online (Sandbox Code Playgroud)
我想卸载pandas 只,而不是有别的降级.
据我所知,这些包都依赖 …
几周前我在GitHub上安装了scikit-learn:
pip install git+git://github.com/scikit-learn/scikit-learn@master
Run Code Online (Sandbox Code Playgroud)
我去了GitHub,从那以后主分支发生了一些变化.
如何更新我的本地安装scikit-learn?
我试过pip install scikit-learn --upgrade但是我得到了:
Requirement already up-to-date
Cleaning up ...
Run Code Online (Sandbox Code Playgroud) 对于我的 Python 项目,我使用 conda 环境文件来确保所有开发人员和部署都有类似的环境。我的项目需要将特定版本的私有存储库包含在环境中。为了在我的开发服务器上部署,应该从存储库的开发分支安装该包。对于生产环境的部署,应使用 master 分支。由于它们在同一台服务器上运行,因此环境也需要具有不同的名称。
所以我想要的是:
给定以下环境文件,有什么方法可以实现这一目标吗?我想在安装这个环境时是否可以传递参数/变量这将是一个解决方案,但我找不到它是否/如何工作。
环境.yml:
name: conda_env
channels:
- conda-forge
dependencies:
- python==3.6.4
- pandas==0.22.0
- pip:
- git+https://url.com/private_repo.git@development
Run Code Online (Sandbox Code Playgroud)
在这种情况下,最佳做法是什么?
我在 GitLab 存储库上创建了一个自定义 python 包,我可以在本地终端中使用以下 pip 命令成功安装<>该包(带有 的术语表示在运行命令之前需要替换的变量):
pip install <packagename> --extra-index-url https://<access_token_name>:<access_token>@gitlab.com/api/v4/projects/24/packages/pypi/simple
Run Code Online (Sandbox Code Playgroud)
但是,我的限制是我需要从使用conda.yaml文件创建的 anaconda 环境安装此包。该文件的示例如下所示。
name: test
channels:
- defaults
dependencies:
- python=3.8
- pip
- pip:
- pandas==1.2.4
- numpy==1.20.2
Run Code Online (Sandbox Code Playgroud)
我的问题:如何将自定义包添加到conda.yaml?似乎conda.yaml允许以格式指定依赖项<packagename>==<package_version>,但不允许使用pip install像上面这样的自定义命令。
我尝试添加- "--extra-index-url https://<access_token_name>:<access_token>@gitlab.com/api/v4/projects/24/packages/pypi/simple"到依赖项(作为 下的项目- pip:),然后可以使用 成功创建 conda 环境conda env create -f conda.yaml,即执行此命令时没有错误消息。但是,我的软件包<packagename>实际上并未安装,即它没有列出conda list,并且无法导入该软件包(激活新环境后)。
我正在尝试创建一个简单的环境:
channels:
- rdonnelly
- bioconda
- anaconda
- r
- conda-forge
- defaults
dependencies:
- bioconda::bioconductor-mixomics>=6.16
- free::fonts-continuum
- rstudio
Run Code Online (Sandbox Code Playgroud)
mamba env create -f my_env.yaml -n some_env,之后我发现包裹丢失:
Looking for: ["bioconda::bioconductor-mixomics[version='>=6.16']", 'free::fonts-continuum', 'rstudio']
Encountered problems while solving:
- package rstudio-1.0.153-1 requires qt 5.6.*, but none of the providers can be installed
Run Code Online (Sandbox Code Playgroud)
但是,我可以看到它qt存在于conda-forge:
mamba search conda-forge::qt
# returns
Loading channels: done
# Name Version Build Channel
qt 4.8.7 ha8c56c7_9 conda-forge
qt 5.6.2 hbe13537_1012 conda-forge
qt 5.6.2 …Run Code Online (Sandbox Code Playgroud) 根据Keras 文档,fit 需要一个validation_freq参数:
validation_freq:仅在提供验证数据时相关。整数或列表/元组/集合。如果是整数,则指定在执行新的验证运行之前要运行多少个训练纪元,例如,validation_freq=2 每 2 个纪元运行验证。如果列表、元组或集合指定要运行验证的时期,例如,validation_freq=[1,2,10] 在第 1、2 和 10 时期结束时运行验证。
result = model.fit( X_train, Y_train, epochs=2000, verbose=1, validation_data=(X_test,Y_test), validation_freq=10) # , validation_split=0.2
Run Code Online (Sandbox Code Playgroud)
这引发了:
File "/Users/george/anaconda3/lib/python3.6/site-packages/keras/engine/training.py", line 942, in fit
raise TypeError('Unrecognized keyword arguments: ' + str(kwargs))
TypeError: Unrecognized keyword arguments: {'validation_freq': 10}
Run Code Online (Sandbox Code Playgroud)
使用Keras2.1.6-tf。此后是否已添加此参数?
如果是这样,如何为 Anaconda 更新 Keras?我试过:
> conda update keras
Collecting package metadata: done
Solving environment: done
# All requested packages already installed.
Run Code Online (Sandbox Code Playgroud) python ×6
pip ×4
anaconda ×3
conda ×3
git ×3
environment ×1
github ×1
keras ×1
mamba ×1
pypi ×1
scikit-learn ×1
tensorflow ×1