想象一下,人们没有意识到虚拟环境如何在Python中运行并且sudo pip install为OS 安装了许多软件包:X.现在他们面临管理包版本的问题.
如果一个人理解虚拟环境时,这永远不会发生,但如果这样做之前是开明的,怎么可能有人很容易地删除所有我已安装了非虚拟环境中的软件包,而不会破坏任何默认安装?
请注意,这包括几个程序(例如nosetests),并不仅限于库.似乎我可以创建一个虚拟--no-site-packages环境,至少可以绕过这些包(假设我擦掉了我的PYTHONPATH).但是我的实际PATH似乎也让我看到了我安装的可执行文件.
假设我有5个提交的提交历史记录.我知道我可以在制作拉取请求时在本地重新提交我的提交,然后将它们重新绑定到单个提交中.
一个常见的用例是:
我可以在我的机器上本地执行此操作,然后再次推送我的更改(使用-f,因为rebase使其与远程控制器不同步).这有点烦人.
但是,这要求我每次处理评论评论时都要进行改动- 有什么方法可以通过Web界面进行此操作吗?
或者我的工作流程可能是错误的,我是否应该将我的每个"评论评论"提交直接修改为主PR提交?
我有一些 docker-compose 文件,例如:
#docker-compose.yml
version: '2'
services:
my_other_service:
image: alpine
command: ping -c3 google.com
my_base_service_reference:
extends:
file: base-docker-compose.yml
service: base_service
#base-docker-compose.yml
version: '2'
services:
base_service:
image: alpine
command: ping -c5 google.com
Run Code Online (Sandbox Code Playgroud)
我可以运行这两个服务,docker-compose up因为我引用了第二个文件。但我真正想做的是让我的单个 docker-compose 文件像这样工作:
#docker-compose.yml
version: '2'
services:
my_other_service:
image: alpine
command: ping -c3 google.com
#base-docker-compose.yml
version: '2'
services:
base_service:
image: alpine
command: ping -c5 google.com
$ docker-compose -f base-docker-compose.yml up &
$ docker-compose -f docker-compose.yml up &
Run Code Online (Sandbox Code Playgroud)
有没有办法以这种方式构建我的 docker-compose.yml 以获得类似的功能?
实际上,我有不止两个简单的示例,最好避免启动每个单独的服务,并且它需要单独的依赖项,而是类似:
#docker-compose.yml
version: '2'
services:
my_other_service: …Run Code Online (Sandbox Code Playgroud) 这段代码
Sheets(1).Activate
Sheets(2).Range("A1").Select
Run Code Online (Sandbox Code Playgroud)
将在VBA中失败,因为你只能Select在一个对象上使用它Active.我明白这是事实.
Excel数据模型的哪个元素会导致这种情况?我认为Activate在使用之前,用户/编码器有一个隐含的意图到任何对象Select- 我不明白为什么VBA不会做出这个假设,并且,我假设存在这种区别存在的原因.
当我从Excel(在单元格中)调用该函数时:
=allVlookup(O24,A:D,3,"")
Run Code Online (Sandbox Code Playgroud)
vs通过vba
MsgBox allVlookup(Range("O24"), Range("A:D"), 3, "")
Run Code Online (Sandbox Code Playgroud)
我得到了不同的结果.当从Excel调用时,我只获得第一个匹配,但是当从具有相同参数的vba测试子调用时(除了添加Range参数以允许子运行),我得到完整的结果(多于一个).
我正在使用的功能是:
Public Function allVlookup(lookupRange As Range, tableRange As Range, colIndex As Integer, Optional delimiter As String = "") As String
Dim c As Range
Dim firstAddress As String
'MsgBox tableRange.Address ' this is correct
'With Sheets(4).Range("A1:C12").Columns(1)
'With Range("A1:C12").Columns(1)
'this doesn't allow things to work right either (???)
'Set tableRange = Range("A:D")
'Set lookupRange = Range("O24")
'search only the first column for matches
With tableRange.Columns(1)
Set c = .Find(what:=lookupRange.Value, LookIn:=xlValues) …Run Code Online (Sandbox Code Playgroud) 我有我认为在Access中很容易做的事情.
想象一下,我有以下表格(在SQL中生成):
CREATE TABLE Projects (
ID int IDENTITY(1,1) PRIMARY KEY,
RequestStatus int FOREIGN KEY REFERENCES RequestStatus(ID),
mName varchar(50)
);
CREATE TABLE RequestStatus (
ID int IDENTITY(1,1) PRIMARY KEY,
RequestStatus varchar(50) unique
);
Run Code Online (Sandbox Code Playgroud)
我想在Projects表的Access中创建一个表单,该表有一个下拉列表,允许用户更改RequestStatus - 但显示varchar(50)值.
例如,如果RequestStatus.RequestStatus值为:
我希望下拉列表显示选项"one"和"two"但实际上,当它们被选中时,将我的Projects.RequestStatus分别更新为1或2.
通过简单地制作我的Combobox,我可以非常轻松地将"一个"和"两个"值推入下拉列表中:
但是,当我更改组合框值时,它会尝试在RequestStatus表中插入一个新值 - 这显然是个问题.
如果我将ControlSource更改为Projects.RequestStatus,它不允许我选择使用"一个"或"两个"指示器,因为显示的值是1/2等.
我怎样才能做到这一点?
我更擅长做更多涉及SQL的工作.
我的目标是使用查询结果通过电子邮件来推动电子邮件创建.我打算在SQL Server 2008上创建一个存储过程并每周安排两次(最多20封电子邮件,这不会是繁重的电子邮件加载).
SELECT ProjectCodes.ProjectCode, COUNT(Projects.ProjectsID), ProjectApprovers.EmailApprover
FROM Projects
INNER JOIN ProjectCodes
ON Projects.ProjectCodesID=ProjectCodes.ProjectCodesID
INNER JOIN ProjectApprovers
ON Projects.ProjectCodesID=ProjectApprovers.ProjectCodesID
WHERE ProjectApprovers.IsPrimaryApprover=1
group by ProjectCodes.ProjectCode, ProjectApprovers.EmailApprover
Run Code Online (Sandbox Code Playgroud)
这返回类似于:
+-------------+-------+--------------+
| ProjectCode | Count | EmailAddress |
+-------------+-------+--------------+
| Code1 | 4 | Email1 |
| Code2 | 2 | Email2 |
| Code3 | 2 | Email3 |
| Code4 | 3 | Email4 |
+-------------+-------+--------------+
Run Code Online (Sandbox Code Playgroud)
我想做的是基本循环遍历此结果,运行以下内容:
EXEC msdb.dbo.sp_send_dbmail
@recipients= 'email1', --email address from above query
@subject='Test email',
@body='You have X …Run Code Online (Sandbox Code Playgroud) 命令行终端明星与一些文件夹,如projectRoot/one subproject每次而不是projectRoot.我个人没有更改任何设置.
有没有人知道如何设置Idea以项目根启动终端而不是cd ..每次都键入?
我创建了两个docker网络:
docker network create --driver=bridge --subnet=172.1.0.0/16 --ip-range=172.1.5.0/24 --gateway=172.1.5.254 br1
docker network create --driver=bridge --subnet=172.2.0.0/16 --ip-range=172.2.5.0/24 --gateway=172.2.5.254 br2
Run Code Online (Sandbox Code Playgroud)
我这样做是为了促进该网络中更容易的容器交互(我不需要为该子网内的容器公开端口).
然而,现在,我有兴趣在Docker中的两个子网之间建立一些服务(可能A为172.1.0.0,B为172.2.0.0).
如何公开端口以便它们可以在两个子网之间相互连接?在创建docker子网之前,我可以-p 8000:8000在运行docker镜像时使用它来暴露端口,然后访问所需的端口.
我使用的是docker版本1.10.1和docker-machine.
该文件表明这是可能的,但没有给出实际的例子:
在用户定义的桥接网络中,不支持链接.您可以在此网络中的容器上公开和发布容器端口.如果要将桥接网络的一部分用于外部网络,这将非常有用.
我正在使用 Python 来启动 docker 实例。
我如何识别它们是否正在运行?我可以很容易地docker ps从终端使用,如:
docker ps | grep myimagename
Run Code Online (Sandbox Code Playgroud)
如果这返回任何内容,则图像正在运行。如果它返回一个空字符串,则图像没有运行。
但是,我无法理解如何subprocess.Popen使用它 - 它需要一个参数列表,例如:
p = subprocess.Popen(['docker', 'ps', '|', 'grep', 'myimagename'], stdout=subprocess.PIPE)
print p.stdout
Run Code Online (Sandbox Code Playgroud)
不起作用,因为它试图采用“docker ps”并使其成为“docker”和“ps”命令(docker不支持)。
似乎我也不能给它完整的命令,因为Popen试图将整个第一个参数作为可执行文件运行,所以这失败了:
p = subprocess.Popen('docker ps | grep myimagename', stdout=subprocess.PIPE)
print p.stdout
Run Code Online (Sandbox Code Playgroud)
有没有办法真正docker ps从 Python运行?我不知道尝试使用subprocess是不是最好的路线。然而,这是我用来运行 docker 容器的方法,所以它似乎是正确的路径。
docker ×3
macos ×2
python ×2
sql ×2
vba ×2
command-line ×1
datamodel ×1
excel ×1
excel-vba ×1
git ×1
github ×1
ms-access ×1
pip ×1
spreadsheet ×1
sql-server ×1
terminal ×1
virtualenv ×1
workflow ×1